{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#导入必要的工具包\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.cluster import MiniBatchKMeans\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn import metrics\n",
    "\n",
    "from sklearn.decomposition import PCA\n",
    "import time\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#读取训练数据\n",
    "train = pd.read_csv('enents_in_train&test.csv')\n",
    "\n",
    "X_train = train.drop(train.columns[0:10],axis=1).values\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>event_id</th>\n",
       "      <th>user_id</th>\n",
       "      <th>start_time</th>\n",
       "      <th>city</th>\n",
       "      <th>state</th>\n",
       "      <th>zip</th>\n",
       "      <th>country</th>\n",
       "      <th>lat</th>\n",
       "      <th>lng</th>\n",
       "      <th>...</th>\n",
       "      <th>c_92</th>\n",
       "      <th>c_93</th>\n",
       "      <th>c_94</th>\n",
       "      <th>c_95</th>\n",
       "      <th>c_96</th>\n",
       "      <th>c_97</th>\n",
       "      <th>c_98</th>\n",
       "      <th>c_99</th>\n",
       "      <th>c_100</th>\n",
       "      <th>c_other</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>684921758</td>\n",
       "      <td>3647864012</td>\n",
       "      <td>2012-10-31T00:00:00.001Z</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>244999119</td>\n",
       "      <td>3476440521</td>\n",
       "      <td>2012-11-03T00:00:00.001Z</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>3928440935</td>\n",
       "      <td>517514445</td>\n",
       "      <td>2012-11-05T00:00:00.001Z</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>2582345152</td>\n",
       "      <td>781585781</td>\n",
       "      <td>2012-10-30T00:00:00.001Z</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>1051165850</td>\n",
       "      <td>1016098580</td>\n",
       "      <td>2012-09-27T00:00:00.001Z</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 111 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Unnamed: 0    event_id     user_id                start_time city state  \\\n",
       "0           0   684921758  3647864012  2012-10-31T00:00:00.001Z  NaN   NaN   \n",
       "1           1   244999119  3476440521  2012-11-03T00:00:00.001Z  NaN   NaN   \n",
       "2           2  3928440935   517514445  2012-11-05T00:00:00.001Z  NaN   NaN   \n",
       "3           3  2582345152   781585781  2012-10-30T00:00:00.001Z  NaN   NaN   \n",
       "4           4  1051165850  1016098580  2012-09-27T00:00:00.001Z  NaN   NaN   \n",
       "\n",
       "   zip country  lat  lng   ...     c_92  c_93  c_94  c_95  c_96  c_97  c_98  \\\n",
       "0  NaN     NaN  NaN  NaN   ...        0     1     0     0     0     0     0   \n",
       "1  NaN     NaN  NaN  NaN   ...        0     0     0     0     0     0     0   \n",
       "2  NaN     NaN  NaN  NaN   ...        0     0     0     0     0     0     0   \n",
       "3  NaN     NaN  NaN  NaN   ...        0     0     0     0     0     0     0   \n",
       "4  NaN     NaN  NaN  NaN   ...        0     0     0     0     0     0     0   \n",
       "\n",
       "   c_99  c_100  c_other  \n",
       "0     0      0        9  \n",
       "1     0      0        7  \n",
       "2     0      0       12  \n",
       "3     0      0        8  \n",
       "4     0      0        9  \n",
       "\n",
       "[5 rows x 111 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train = X_train / 9664.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.00020695, 0.        , 0.00020695, ..., 0.        , 0.        ,\n",
       "        0.00093129],\n",
       "       [0.00020695, 0.        , 0.00020695, ..., 0.        , 0.        ,\n",
       "        0.00072434],\n",
       "       [0.        , 0.        , 0.        , ..., 0.        , 0.        ,\n",
       "        0.00124172],\n",
       "       ...,\n",
       "       [0.        , 0.00010348, 0.        , ..., 0.        , 0.        ,\n",
       "        0.00103477],\n",
       "       [0.        , 0.        , 0.        , ..., 0.        , 0.        ,\n",
       "        0.00062086],\n",
       "       [0.00062086, 0.00010348, 0.00020695, ..., 0.        , 0.        ,\n",
       "        0.01365894]])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "the shape of train_image: (13418, 101)\n"
     ]
    }
   ],
   "source": [
    "# 原始输入的特征维数和样本数目\n",
    "print('the shape of train_image: {}'.format(X_train.shape))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/cuiyue/anaconda2/lib/python2.7/site-packages/sklearn/model_selection/_split.py:2026: FutureWarning: From version 0.21, test_size will always complement train_size unless both are specified.\n",
      "  FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "# 将训练集合拆分成训练集和校验集，在校验集上找到最佳的模型超参数（PCA的维数）\n",
    "X_train_part, X_val  = train_test_split(X_train, train_size = 0.8,random_state = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(10734, 101)\n",
      "(2684, 101)\n"
     ]
    }
   ],
   "source": [
    "#拆分后的训练集和校验集的样本数目\n",
    "print(X_train_part.shape)\n",
    "print(X_val.shape)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 一个参数点（聚类数据为K）的模型，在校验集上评价聚类算法性能\n",
    "def K_cluster_analysis(K, X_train, X_val):\n",
    "    start = time.time()\n",
    "    \n",
    "    print(\"K-means begin with clusters: {}\".format(K));\n",
    "    \n",
    "    #K-means,在训练集上训练\n",
    "    mb_kmeans = MiniBatchKMeans(n_clusters = K)\n",
    "    mb_kmeans.fit(X_train)\n",
    "    \n",
    "    # 在训练集和测试集上预测\n",
    "    y_train_pred = mb_kmeans.fit_predict(X_train)\n",
    "    y_val_pred = mb_kmeans.predict(X_val)\n",
    "    \n",
    "    #以前两维特征打印训练数据的分类结果\n",
    "    plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train_pred)\n",
    "    plt.show()\n",
    "\n",
    "    # K值的评估标准\n",
    "    #利用CH索引方法Calinski-Harabasz Index进行评估\n",
    "    #分数值越大则聚类效果越好\n",
    "    \n",
    "    #训练集评估\n",
    "    CH_score = metrics.calinski_harabaz_score(X_train,mb_kmeans.predict(X_train))\n",
    "    \n",
    "    \n",
    "    #校验集评估\n",
    "    CH_score_val = metrics.calinski_harabaz_score(X_val,mb_kmeans.predict(X_val))\n",
    "    \n",
    "    end = time.time()\n",
    "    print(\"CH_score: {}, time elaps:{}\".format(CH_score, int(end-start)))\n",
    "    print(\"CH_score_val: {}\".format(CH_score_val))\n",
    "    \n",
    "    return CH_score,CH_score_val"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "K-means begin with clusters: 10\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107a22510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 728.894090948, time elaps:0\n",
      "CH_score_val: 3733.7863395\n",
      "K-means begin with clusters: 20\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x108408510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 353.781972313, time elaps:0\n",
      "CH_score_val: 2296.47360518\n",
      "K-means begin with clusters: 30\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1084084d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 204.634159788, time elaps:1\n",
      "CH_score_val: 972.296025644\n",
      "K-means begin with clusters: 40\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109431dd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 270.254418723, time elaps:1\n",
      "CH_score_val: 1752.55533889\n",
      "K-means begin with clusters: 50\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1102c3050>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 201.667206192, time elaps:1\n",
      "CH_score_val: 1713.32423894\n",
      "K-means begin with clusters: 60\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD8CAYAAABkbJM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGnRJREFUeJzt3XuUnHWd5/H3p6svuWAg6XQQSDIdJY4blNVDGRyR8QIJ0QGDx6hxdMis8WRgBs/uuP6Bw3Hw4LqKe2bYUfESLhrYdUFZlfaCMdxm1OGSCiAhYKSJwTSJEEgIt/S1vvtHPXErbXXq113VXenk8zqnTtfze77P098fxcmnn6eeekoRgZmZWTVNjW7AzMwmBweGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVmS5kY3UE+zZ8+Ozs7ORrdhZjapbNq06ZmI6KhWd0QFRmdnJ4VCodFtmJlNKpKeSKnzKSkzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNLUpfAkLRM0lZJ3ZIuqbC+TdJN2fp7JXVm40skbZK0Ofv5zrJtTsvGuyV9SZLq0auZmY1NzYEhKQdcBbwLWAR8SNKiYWWrgb0RcTJwJXBFNv4McF5EvB5YBdxQts3XgDXAwuyxrNZezcxs7OpxhLEY6I6IbRHRD9wILB9WsxxYlz2/GThLkiLigYjYmY1vAaZkRyMnADMi4u6ICOB64Pw69GpmZmNUj8A4CdhRttyTjVWsiYhBYB/QPqzmfcADEdGX1fdU2aeZmU2g5jrso9J7CzGaGkmnUDpNtXQU+zyw7RpKp66YP39+tV7NzGyM6nGE0QPMK1ueC+wcqUZSM3AssCdbngt8H7ggIh4vq59bZZ8ARMTaiMhHRL6jo6PGqZiZ2UjqERgbgYWSFkhqBVYCXcNquii9qQ2wArgjIkLSccCPgU9FxC8PFEfELuAFSW/Oro66ALilDr2amdkY1RwY2XsSFwPrgUeB70TEFkmXS3pPVnYt0C6pG/gEcODS24uBk4FPS3owe8zJ1l0EXAN0A48Dt9baq5mZjZ1KFyEdGfL5fBQKhUa3YWY2qUjaFBH5anX+pLeZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVmSugSGpGWStkrqlnRJhfVtkm7K1t8rqTMbb5d0p6QXJX1l2DZ3Zfsc/l3fZmbWAM217kBSDrgKWAL0ABsldUXEI2Vlq4G9EXGypJXAFcAHgV7g08DrssdwH44If0m3mdlhoB5HGIuB7ojYFhH9wI3A8mE1y4F12fObgbMkKSJeiohfUAoOMzM7jNUjME4CdpQt92RjFWsiYhDYB7Qn7Pub2emoT0tSHXo1M7MxqkdgVPqHPMZQM9yHI+L1wJnZ468q/nJpjaSCpMLu3burNmtmZmNTj8DoAeaVLc8Fdo5UI6kZOBbYc6idRsST2c8XgG9TOvVVqW5tROQjIt/R0TGmCZiZWXX1CIyNwEJJCyS1AiuBrmE1XcCq7PkK4I6IGPEIQ1KzpNnZ8xbgXODhOvRqZmZjVPNVUhExKOliYD2QA66LiC2SLgcKEdEFXAvcIKmb0pHFygPbS9oOzABaJZ0PLAWeANZnYZEDbgOurrVXMzMbOx3iD/1JJ5/PR6Hgq3DNzEZD0qaIyFer8ye9zcwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsSV0CQ9IySVsldUu6pML6Nkk3ZevvldSZjbdLulPSi5K+Mmyb0yRtzrb5kiTVo1czMxubmgNDUg64CngXsAj4kKRFw8pWA3sj4mTgSuCKbLwX+DTwyQq7/hqwBliYPZbV2quZmY1dPY4wFgPdEbEtIvqBG4Hlw2qWA+uy5zcDZ0lSRLwUEb+gFBx/IOkEYEZE3B0RAVwPnF+HXs3MbIzqERgnATvKlnuysYo1ETEI7APaq+yzp8o+zcxsAtUjMCq9txBjqBlTvaQ1kgqSCrt37z7ELs3MrBb1CIweYF7Z8lxg50g1kpqBY4E9VfY5t8o+AYiItRGRj4h8R0fHKFs3M7NU9QiMjcBCSQsktQIrga5hNV3Aquz5CuCO7L2JiiJiF/CCpDdnV0ddANxSh17NzGyMmmvdQUQMSroYWA/kgOsiYouky4FCRHQB1wI3SOqmdGSx8sD2krYDM4BWSecDSyPiEeAi4FvAVODW7GFmZg2iQ/yhP+nk8/koFAqNbuOQuh97iq5bNrFnz0v82VsWcvaSU2hra2l0W2Z2FJO0KSLy1epqPsKwdBt+tpkr/+lWBgaGKBaDB+7fzve/t5GvfPWvmTLFoWFmhzcHxji5797HWfv1O+jp2cPs2a/gIxecwZf/5Wf09Q3+oaa3d4CdT+7lxz96gPetWNzAbs3MqvO9pMZBYeM2PvOP/5ff/nY3AwND7Nr1HP/zyp8yVCz+UW1f3yD/etejDejSzGx0fIQxDq7+xp0HHUkADPQPjVh/zDFTx7slM7Oa+QhjHPT0HOojJgebMqWF89972jh2Y2ZWHw6McXD88cdWHJ8+vY2OOa9g6rRWpk1rpbU1xwdWvpnFp796gjs0Mxs9n5IaBx/92Nv47//tloNOS02Z0sJHLjiDFe8/nYcf3sHz+/ZzyuvmMnPm9AZ2amaWzkcY4+CtZ/4pn/jku5nd8QokmHHsVD76sbfx/g+cTlOTOPXU+bz1zD91WJjZpOIjjHFy9pLXcfaS1zEwMERzcxP+/iczm+wcGOOspSXX6BbMzOrCp6TMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJLUJTAkLZO0VVK3pEsqrG+TdFO2/l5JnWXrPpWNb5V0Ttn4dkmbJT0o6fD+3lUzs6NAzZ/0lpQDrgKWAD3ARkldEfFIWdlqYG9EnCxpJXAF8EFJi4CVwCnAicBtkl4TEQe+POIdEfFMrT2amVnt6nGEsRjojohtEdEP3AgsH1azHFiXPb8ZOEulmystB26MiL6I+C3Qne3PzMwOM/UIjJOAHWXLPdlYxZqIGAT2Ae1Vtg3gZ5I2SVpThz7NzKwG9bj5YKXbsEZizaG2PSMidkqaA2yQ9OuI+Lc/+uWlMFkDMH/+/PSuzcxsVOpxhNEDzCtbngvsHKlGUjNwLLDnUNtGxIGfTwPfZ4RTVRGxNiLyEZHv6OioeTJmZlZZPQJjI7BQ0gJJrZTexO4aVtMFrMqerwDuiIjIxldmV1EtABYC90maLukVAJKmA0uBh+vQ67h68YVedj65l6HBYqNbMTOru5pPSUXEoKSLgfVADrguIrZIuhwoREQXcC1wg6RuSkcWK7Ntt0j6DvAIMAj8XUQMSToe+H72pUPNwLcj4qe19jpe9u/v539c8WP+/Ze/IZdroqUlx99evISl57y+0a2ZmdWNSn/oHxny+XwUChP/kY1PX/pd7r3ncYaG/v+RhSQu+YdzOXuJQ8PMDm+SNkVEvlqdv3FvDPr6Brjm6rv4yY8epLd3oGJNRPD5z/2QXTuf469WnTnBHZqZ1Z9vDTJKEcF//fv/zfdu3jhiWJT71jd/zu6nn5+AzszMxpcDY5Q2P7SDx37z+1Ft09V1/zh1Y2Y2cRwYo/Sb3/yewVFeBTXQP1S9yMzsMOf3MEapffYxpZgtAtOKNHX2Q68obm+FYqXPIcK5571xQns0MxsPDoxRGOgf5KsbfsmQoPWMF2h+50uli4ElGIT+dbOIp1oO2uYvzn0Dc+fNakzDZmZ15FNSiSKC//y+L/Lr556jafpTNL/tRdQCmgqaEjAtaL1gL6h0mbIEF398CZ/45Lsb3LmZWX04MBI9eOcWNj//HMd/91Ha8n3QevB6NQHNRTS/dOVUBJxw4nET36iZ2ThxYCR66BePMlgcIvdiH5qdQ00V3q8oBsoN/mFRTf7Pa2ZHDv+LlijXfgzTnt4Lx4i4P4jeCp+Qb4bY3gQKmpqgo+MVE9+omdk4cWAkOvP802ieMgQdTfBSwPYg9pdCI4ZKARI3DJE7u4+W1c9SLMKUKS1V9mpmNnk4MBJNbW+G3hZa+lugOUfxs4PENwaJfx+C24rE5YPQKZrfup+muYPkcuKO2x+pvmMzs0nCl9UmmlacQqtaKL7cS9OtzzL0+jYimiheL7RLxDLRfPbUUvHzTRSLQe/+6rcOMTObLBwYib7w2RtpaX6JpztnMWNujhnnBZrdRD85+gtDDH7+ZYofbEXH5Rj6UQutbS382RknN7ptM7O68SmpRBt/+hC/nzqLtsUizj2OwdlTKbY1M/XYIWa8E5rOayV+0Ev0wv5nc7zlLQtZtGj4V5ubmU1eDoxEza8JBhfPZtZ7elETPLd1Js9vm8FAb44QtK6cQjxTRPuDvtcG573njWRfAGVmdkTwKalE+4qzmPWmffzup/MZeLmFKOZQU5FnNncw/6wnyLUN0ftyM9OeCZqfGeKkub4diJkdWXyEkaC3v5/ejlYGt7XQt7+VgdYcQy1QLDZRHMix8+4TKfbA/td2wKYix/VOZ/ZsfwbDzMam58k93H1PN0/u3NvoVg7iI4wET2zfxXEzX2DX4CwGjhuiZd9+Bma2oaYcU54R/c+3En1N6PhWhn4C3+r6+0a3bGaTUF/fAJdd/gMe/NXvaG5uYmCwyJtO6+QfL11Oa2vj/7muyxGGpGWStkrqlnRJhfVtkm7K1t8rqbNs3aey8a2Szknd50R6sOdRntvVxDF3bmfeFQVeefVm5n2hwIw7f0fvzCJIFPeLKe37eendM2n3J7zNbAy+fvVdPPCrJ+jrH+Sll/vp7x9k46btXPetnze6NaAOgSEpB1wFvAtYBHxI0qJhZauBvRFxMnAlcEW27SJgJXAKsAz4qqRc4j4nzD9fczUt3fs45v7dNA0GTX1FmgaKzLh7F8ds+j0tM/fzfM8xTH1uH0OvbqPw7PZGtWpmk1REcOv6h+gf9oVr/f2D/PjWXzWoq4PV4whjMdAdEdsioh+4EVg+rGY5sC57fjNwlkqXEC0HboyIvoj4LdCd7S9lnxPmqUceY9p9T9M0cPA37TUNFJnxiyfpmPMsuRkD9G1uRe05nh/obVCnZjZZRZTCoZLe3sPjQ8D1CIyTgB1lyz3ZWMWaiBgE9gHth9g2ZZ8ASFojqSCpsHv37hqmMbJ5Z56K+it/LWvu5UGmFPcz/YkX2fPn7QwUh8i3d45LH2Z25GpqEov+w4l/NC7BqafOa0BHf6wegVHpwwbDb+U6Us1ox/94MGJtROQjIt/R0XHIRsfq51/+X2h6a8V1xfap9O0o8tp3vkhLe44LX/N2ZrVNH5c+zOzI9l8+fg7TprbS3Fz6p7mlJcfUqa1cfNFZDe6spB5vu/cA5fE3F9g5Qk2PpGbgWGBPlW2r7XNC6QPHUVy3u/SdF2TplRO5D88gZgb/9uR/5OsXriA/e0Ej2zSzSezkV8/hm1ev5ns/2ET340/xmoWv5L3nn0bHYXKZfj0CYyOwUNIC4ElKb2L/5bCaLmAVcDewArgjIkJSF/BtSf8MnAgsBO6jdIRRbZ8T6mfXXsWSKR9HXc8TewbQnDaaPjidl5ubOHnmm7nlbz5Acy7XyBbN7AgwZ84MLlzzjka3UVHNgRERg5IuBtYDOeC6iNgi6XKgEBFdwLXADZK6KR1ZrMy23SLpO8AjwCDwdxExBFBpn7X2WqsNV325dO2WmdlRSBEV3xqYlPL5fBQKhUa3YWY2qUjaFBH5anW+NYiZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVmSmgJD0ixJGyQ9lv2cOULdqqzmMUmrysZPk7RZUrekL0lSNv4ZSU9KejB7vLuWPs3MrHa1HmFcAtweEQuB27Plg0iaBVwGnA4sBi4rC5avAWuAhdljWdmmV0bEG7LHT2rs08zMalRrYCwH1mXP1wHnV6g5B9gQEXsiYi+wAVgm6QRgRkTcHREBXD/C9mZmdhioNTCOj4hdANnPORVqTgJ2lC33ZGMnZc+Hjx9wsaSHJF030qkuMzObOFUDQ9Jtkh6u8Fie+DtUYSwOMQ6lU1WvBt4A7AL+6RD9rZFUkFTYvXt3YktmZjZazdUKIuLskdZJekrSCRGxKzvF9HSFsh7g7WXLc4G7svG5w8Z3Zr/zqbLfcTXwo0P0txZYC5DP52OkOjMzq02tp6S6gANXPa0CbqlQsx5YKmlmdmppKbA+O4X1gqQ3Z1dHXXBg+yx8Dngv8HCNfZqZWY2qHmFU8QXgO5JWA78D3g8gKQ9cGBEfi4g9kj4LbMy2uTwi9mTPLwK+BUwFbs0eAF+U9AZKp6i2A39TY59mZlYjlS5QOjLk8/koFAqNbsPMbFKRtCki8tXq/ElvMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJDUFhqRZkjZIeiz7OXOEulVZzWOSVpWNf07SDkkvDqtvk3STpG5J90rqrKVPMzOrXa1HGJcAt0fEQuD2bPkgkmYBlwGnA4uBy8qC5YfZ2HCrgb0RcTJwJXBFjX2amVmNag2M5cC67Pk64PwKNecAGyJiT0TsBTYAywAi4p6I2FVlvzcDZ0lSjb2amVkNag2M4w/8g5/9nFOh5iRgR9lyTzZ2KH/YJiIGgX1Ae429mplZDZqrFUi6DXhlhVWXJv6OSkcGUa9tJK0B1gDMnz8/sSUzMxutqoEREWePtE7SU5JOiIhdkk4Anq5Q1gO8vWx5LnBXlV/bA8wDeiQ1A8cCe0boby2wFiCfz1cLIjMzG6NaT0l1AQeueloF3FKhZj2wVNLM7M3updlY6n5XAHdEhMPAzKyBag2MLwBLJD0GLMmWkZSXdA1AROwBPgtszB6XZ2NI+qKkHmCapB5Jn8n2ey3QLqkb+AQVrr4yM7OJpSPpD/d8Ph+FQqHRbZiZTSqSNkVEvlqdP+ltZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJagoMSbMkbZD0WPZz5gh1q7KaxyStKhv/nKQdkl4cVv/XknZLejB7fKyWPs3MrHa1HmFcAtweEQuB27Plg0iaBVwGnA4sBi4rC5YfZmOV3BQRb8ge19TYp5mZ1ajWwFgOrMuerwPOr1BzDrAhIvZExF5gA7AMICLuiYhdNfZgZmYToNbAOP7AP/jZzzkVak4CdpQt92Rj1bxP0kOSbpY0r8Y+zcysRs3VCiTdBryywqpLE3+HKoxFlW1+CPyfiOiTdCGlo5d3jtDfGmANwPz58xNbMjOz0aoaGBFx9kjrJD0l6YSI2CXpBODpCmU9wNvLlucCd1X5nc+WLV4NXHGI2rXAWoB8Pl8tiMzMbIxqPSXVBRy46mkVcEuFmvXAUkkzsze7l2ZjI8rC54D3AI/W2KeZmdVIEWP/o1xSO/AdYD7wO+D9EbFHUh64MCI+ltV9FPiHbLPPRcQ3s/EvAn8JnAjsBK6JiM9I+jyloBgE9gAXRcSvE/rZDTwx5gmlmw08MwG/53B0tM7d8z76HE1z/5OI6KhWVFNgHK0kFSIi3+g+GuFonbvnffQ5muc+En/S28zMkjgwzMwsiQNjbNY2uoEGOlrn7nkffY7muVfk9zDMzCyJjzDMzCyJA2MYScskbZXULanSzRTbJN2Urb9XUmfZuk9l41slnTORfddqrPOW1Clpf9mdhb8+0b3XKmHufy7pfkmDklYMW1fxTsyTQY3zHip7zbsmruvaJcz7E5IeyW5NdLukPylbN2lf77qICD+yB5ADHgdeBbQCvwIWDav5W+Dr2fOVlO6qC7Aoq28DFmT7yTV6ThMw707g4UbPYZzn3gmcClwPrCgbnwVsy37OzJ7PbPScxnve2boXGz2HcZz3O4Bp2fOLyv5fn7Svd70ePsI42GKgOyK2RUQ/cCOlO/KWK79D783AWZKUjd8YEX0R8Vugm5Fv3X64qWXek13VuUfE9oh4CCgO23bEOzFPArXMezJLmfedEfFytngPpdsZweR+vevCgXGwlDvr/qEmIgaBfUB74raHq1rmDbBA0gOS/lXSmePdbJ3V8rod6a/5oUyRVJB0j6RKX2twuBrtvFcDt45x2yNO1ZsPHmVS7qw7Us1Y7sp7uKhl3ruA+RHxrKTTgB9IOiUinq93k+OkltftSH/ND2V+ROyU9CrgDkmbI+LxOvU2npLnLekjQB5422i3PVL5CONgPUD5d2/MpXSPq4o1kpqBYynd7ypl28PVmOednYJ7FiAiNlE6P/yace+4fmp53Y7013xEEbEz+7mN0t2n31jP5sZR0rwlnU3pKxzeExF9o9n2SObAONhGYKGkBZJaKb25O/wKkPI79K4A7ojSO2JdwMrsaqIFwELgvgnqu1ZjnrekDkk5gOyvzYWU3gycLFLmPpJR34n5MDLmeWfzbcuezwbOAB4Zt07rq+q8Jb0R+AalsCj/yobJ/HrXR6PfdT/cHsC7gd9Q+kv50mzsckr/8wBMAb5L6U3t+4BXlW17abbdVuBdjZ7LRMwbeB+whdLVJvcD5zV6LuMw9zdR+uvyJeBZYEvZth/N/pt0A/+p0XOZiHkDbwE2Z6/5ZmB1o+dS53nfBjwFPJg9uo6E17seD3/S28zMkviUlJmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZkv8HKIH6R7shx4oAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1095d3d10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 635.538454842, time elaps:1\n",
      "CH_score_val: 543.411332494\n",
      "K-means begin with clusters: 70\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1095d39d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 544.717812506, time elaps:1\n",
      "CH_score_val: 430.994654128\n",
      "K-means begin with clusters: 80\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10941fb10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 106.090743403, time elaps:1\n",
      "CH_score_val: 1006.05638527\n",
      "K-means begin with clusters: 90\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1083d6390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 75.1985990164, time elaps:1\n",
      "CH_score_val: 571.331763516\n",
      "K-means begin with clusters: 100\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107c3e410>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 70.7884280141, time elaps:1\n",
      "CH_score_val: 662.593118837\n"
     ]
    }
   ],
   "source": [
    "# 设置超参数（聚类数目K）搜索范围\n",
    "Ks = [10,20,30,40,50,60,70,80,90,100]\n",
    "CH_scores = []\n",
    "CH_score_val = []\n",
    "for K in Ks:\n",
    "    ch,v = K_cluster_analysis(K, X_train_part, X_val)\n",
    "    CH_scores.append(ch)\n",
    "    CH_score_val.append(v)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x109f2f4d0>]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107ab9d90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制训练集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_scores), 'b-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x108134f10>]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107bae8d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制校验集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_score_val), 'g-')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 调整模型参数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过以上结果看出，模型分数不稳定，考虑到数据集样本较多，尝试将校验集比例提高试一下。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 调整分割比例试试\n",
    "X_train_part, X_val  = train_test_split(X_train, train_size = 0.6,random_state = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(8050, 101)\n",
      "(5368, 101)\n"
     ]
    }
   ],
   "source": [
    "#拆分后的训练集和校验集的样本数目\n",
    "print(X_train_part.shape)\n",
    "print(X_val.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 一个参数点（聚类数据为K）的模型，在校验集上评价聚类算法性能\n",
    "def K_cluster_analysis(K, X_train, X_val):\n",
    "    start = time.time()\n",
    "    \n",
    "    print(\"K-means begin with clusters: {}\".format(K));\n",
    "    \n",
    "    #K-means,在训练集上训练\n",
    "    mb_kmeans = MiniBatchKMeans(n_clusters = K)\n",
    "    mb_kmeans.fit(X_train)\n",
    "    \n",
    "    # 在训练集和测试集上预测\n",
    "    y_train_pred = mb_kmeans.fit_predict(X_train)\n",
    "    y_val_pred = mb_kmeans.predict(X_val)\n",
    "    \n",
    "    #以前两维特征打印训练数据的分类结果\n",
    "    plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train_pred)\n",
    "    plt.show()\n",
    "\n",
    "    # K值的评估标准\n",
    "    #利用CH索引方法Calinski-Harabasz Index进行评估\n",
    "    #分数值越大则聚类效果越好\n",
    "    \n",
    "    #训练集评估\n",
    "    CH_score = metrics.calinski_harabaz_score(X_train,mb_kmeans.predict(X_train))\n",
    "    \n",
    "    \n",
    "    #校验集评估\n",
    "    CH_score_val = metrics.calinski_harabaz_score(X_val,mb_kmeans.predict(X_val))\n",
    "    \n",
    "    end = time.time()\n",
    "    print(\"CH_score: {}, time elaps:{}\".format(CH_score, int(end-start)))\n",
    "    print(\"CH_score_val: {}\".format(CH_score_val))\n",
    "    \n",
    "    return CH_score,CH_score_val\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "K-means begin with clusters: 10\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD8CAYAAABkbJM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGlVJREFUeJzt3XuQnHWd7/H3J3PJDRJyA0MuJpigG0SDNMiao0cIhOARgooaQIlrPDmwUme3rK0tkPLgsrouUh72sLLuRkAD6gakVhlcIYYAXiFkwj1AyARyGRJCbhsIJDOZme/5o59QnaEn/ZvpnulM8nlVdXU/v+f7PP390VQ+8zzd/bQiAjMzs1IGVLsBMzPrHxwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJaqvdQCWNHj06Jk2aVO02zMz6lZUrV26LiDGl6g6rwJg0aRKNjY3VbsPMrF+RtD6lzqekzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLElFAkPSbEmrJTVJuqrI+oGS7szWL5c0KRs/R9JKSc9k92cVbHNqNt4k6SZJqkSvZmbWM2UHhqQa4GbgPGAacLGkaZ3K5gM7I2IKcCNwfTa+DTg/Ik4G5gF3FGzzA2ABMDW7zS63VzMz67lKHGGcDjRFxEsR0QosBuZ0qpkDLMoe3w3MlKSIeCIiNmXjq4BB2dHIWGBYRDwSEQHcDlxYgV7NzKyHKhEY44CNBcvN2VjRmohoA3YBozrVfAZ4IiJasvrmEvs0M7M+VFuBfRR7byG6UyPpJPKnqWZ1Y5/7t11A/tQVEydOLNWrmZn1UCWOMJqBCQXL44FNXdVIqgWGAzuy5fHAL4DLImJtQf34EvsEICIWRkQuInJjxowpcypmZtaVSgTGCmCqpMmS6oG5QEOnmgbyb2oDXAQ8GBEh6RjgP4GrI+KP+4sjYjPwhqQzsk9HXQbcU4Fezcysh8oOjOw9iSuBJcDzwF0RsUrSdZIuyMpuBUZJagK+Buz/6O2VwBTgG5KezG7HZuuuAG4BmoC1wH3l9mpmZj2n/IeQDg+5XC4aGxur3YaZWb8iaWVE5ErV+ZveZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSSoSGJJmS1otqUnSVUXWD5R0Z7Z+uaRJ2fgoSQ9J2i3p+522eTjbZ+ff+jYzsyqoLXcHkmqAm4FzgGZghaSGiHiuoGw+sDMipkiaC1wPfB7YC3wDeH926+zSiPCPdJuZHQIqcYRxOtAUES9FRCuwGJjTqWYOsCh7fDcwU5Ii4s2I+AP54DAzs0NYJQJjHLCxYLk5GytaExFtwC5gVMK+f5SdjvqGJFWgVzMz66FKBEaxf8ijBzWdXRoRJwMfzW5fLPrk0gJJjZIat27dWrJZMzPrmUoERjMwoWB5PLCpqxpJtcBwYMfBdhoRr2T3bwA/I3/qq1jdwojIRURuzJgxPZqAmZmVVonAWAFMlTRZUj0wF2joVNMAzMseXwQ8GBFdHmFIqpU0OntcB3wSeLYCvZqZWQ+V/SmpiGiTdCWwBKgBbouIVZKuAxojogG4FbhDUhP5I4u5+7eXtA4YBtRLuhCYBawHlmRhUQM8APyw3F7NzKzndJA/9PudXC4XjY3+FK6ZWXdIWhkRuVJ1/qa3mZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklqUhgSJotabWkJklXFVk/UNKd2frlkiZl46MkPSRpt6Tvd9rmVEnPZNvcJEmV6NXMzHqm7MCQVAPcDJwHTAMuljStU9l8YGdETAFuBK7PxvcC3wD+psiufwAsAKZmt9nl9mpmZj1XiSOM04GmiHgpIlqBxcCcTjVzgEXZ47uBmZIUEW9GxB/IB8fbJI0FhkXEIxERwO3AhRXo1czMeqgSgTEO2Fiw3JyNFa2JiDZgFzCqxD6bS+zTzMz6UCUCo9h7C9GDmh7VS1ogqVFS49atWw+ySzMzK0clAqMZmFCwPB7Y1FWNpFpgOLCjxD7Hl9gnABGxMCJyEZEbM2ZMN1s3M7NUlQiMFcBUSZMl1QNzgYZONQ3AvOzxRcCD2XsTRUXEZuANSWdkn466DLinAr2amVkP1Za7g4hok3QlsASoAW6LiFWSrgMaI6IBuBW4Q1IT+SOLufu3l7QOGAbUS7oQmBURzwFXAD8GBgP3ZTczM6sSHeQP/X4nl8tFY2Njtds4qLXPb+JX/76cndve4Iwz/4wzz5/OwEF11W7LzI5gklZGRK5UXdlHGJZuWcPj/PO1v2RfaxsdHcFTjzZxz0/+xI2Lr2DQ4Ppqt2dmdlAOjF7S+PvV3HrDfbyyfhujjh3OxVecyQ++dS8te/e9XbN3zz42bdjO/T9/jAsv+29V7NbMrDRfS6oXrPzji3zrf/+UdWu2sK+1nVebd/D9v7uH9vb2d9S27t3H7+9/tgpdmpl1j48wesGPvnf/AUcSAPta27qsP2rY4N5uycysbD7C6AXN67Yl1w4cXMf5l57Ri92YmVWGA6MXHHf8iKLjQ44ayJixwxk8tJ4hRw2krr6Wi778MXIffW8fd2hm1n0+JdULLvurWdzwt3cecFpq4OA6LvnLmXxq3gyee3w9u3a+xUkfejfHjDqqip2amaVzYPSCGeecRMt1n+JH31vC9tde5+jhg7n4irOY88WPIIn35yZXu0Uzs25zYPSSs84/hbPOP4V9rW3U1tXg338ys/7OgdHL6ur9n9jMDg9+09vMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLElFAkPSbEmrJTVJuqrI+oGS7szWL5c0qWDd1dn4aknnFoyvk/SMpCclHdq/u2pmdgQo+2vIkmqAm4FzgGZghaSGiHiuoGw+sDMipkiaC1wPfF7SNGAucBJwPPCApBMjYv8vDZ0ZEenXCjczs15TiSOM04GmiHgpIlqBxcCcTjVzgEXZ47uBmcpfXGkOsDgiWiLiZaAp25+ZmR1iKhEY44CNBcvN2VjRmohoA3YBo0psG8BvJK2UtKACfZqZWRkqcWW8YpdhjcSag207IyI2SToWWCrphYj43TuePB8mCwAmTpyY3rWZmXVLJY4wmoEJBcvjgU1d1UiqBYYDOw62bUTsv38N+AVdnKqKiIURkYuI3JgxY8qejJmZFVeJwFgBTJU0WVI9+TexGzrVNADzsscXAQ9GRGTjc7NPUU0GpgKPSRoq6WgASUOBWcCzFei1V+1+fQ+bNmynva29dLGZWT9T9impiGiTdCWwBKgBbouIVZKuAxojogG4FbhDUhP5I4u52barJN0FPAe0AV+NiHZJxwG/yH50qBb4WUTcX26vvWXvW63832vu5tEHn6emZgB19TUsuPqTnD3nQ9VuzcysYpT/Q//wkMvlorGx77+ycd2Vd/DYb1+gva3j7TFJ/M31n+Ws80/p837MzLpD0sqIyJWq88/B9UDL3n38+Mb7ue/nK2jZs69oTURww9/exeYNO7j0qzP7uEMzs8rzpUG6KSK46ks/5Je3/6nLsCj0k+8/wNZX/6sPOjMz610OjG56tnEdTc91/hDYwf3n4uW91I2ZWd9xYHRT06pXaNvXvU9BtbX6U1Nm1v/5PYxuGnncsHzMdsCgYS2MO3k7rW/W0fz0KKKjeP6e97nT+rZJM7Ne4MDopvuXv0gAuc+9yIcvfZGOdhEh2lpquOeaM9j28vAD6s/77GmMm+QvFJpZ/+fA6Ib1G7fzxDNr+fy//I5jJ+xCgpq6/MeS6wa1c8G3HuVHX5xFdAgJLv/6J7ngCzOq3LWZWWX4PYxuWPa7p/jyN37+dlgUkmDwsFbGTtsBQAQcN35UFbo0M+sdDoxEEcH6XT9l6LC97wiL/TQAjh7z1tvLA7oqNDPrh3xKKtG27buZdsYzXYbFfq9vHcyAmg6kWkaPHX7wYjOzfsRHGInq62Ho8PzRQ1dXU+lohxM/tolP3/AHxk8ezeQT39WHHZqZ9S4fYSSqH7Kbjnb44wtTaBstZoxcS+2ADgYURG5NLXzgk+uJDviHW+ZXr1kzs17gI4xkR3Nz00w2DxvGKUObqavpQIKODnh952DWPnv825WD645j5LHDqtirmVnl+Qgj0U2PLOPEY7Yws2MDzzz2bp56ZApv7hrM+Pds4eOfXsmQo/fw5usDGXJUC1NGXVHtds3MKs5HGIl+s/lPzGIDA3YPZP4Za7jlqnv5P195mH3bjubH3zmfQYNbeXXDKDoC1jz1nmq3a2ZWcQ6MROePfYETj3+dT3zwFY49Zg/Dhu7jtPe/wsJv/oLpUzfzxIPTqB/UyoABsPT3D1W7XTOzinNgJHrX0buZUN9KW4g28p+tDUHNAPj6//wt214aw7qnxtPRAUNGvFrlbs3MKs+BkaBlbwuj6v6L5TvGMkBB/YD852prlP+G91FDWpn+3s28Z+RbEDD9ff5pVjPruVfWbWP5Q8+zacP2ardyAL/pneC1nVtYvn4CV578Irv31bPhraOZMOQNBte0M6imHQR72muZfsJWtr5Vz5wZF1W7ZTPrh1r27uNbf/VTnl6+ltq6Gtr2tfOhGVO5+sZLqK+v/j/XFTnCkDRb0mpJTZKuKrJ+oKQ7s/XLJU0qWHd1Nr5a0rmp++xLL21Yz+bdo7n+hQ/z5w9dwqWP/Q9mPHQJN605hZ2t9QDsiVpah7Tyq+/PYECND9zMrPtuveHXPL18La0tbby1u4XWljYe/+Mabv9/v6l2a0AFAkNSDXAzcB4wDbhY0rROZfOBnRExBbgRuD7bdhowFzgJmA38i6SaxH32mWt//c/UDxW/3DSFlo5a3myvZ29HLYs2nMTdG0/ktX21/Pn0dby45Whe3TSBJ5/eUK1Wzayfigh+8x8raW1pO2C8taWN+3++okpdHagSfwqfDjRFxEsR0QosBuZ0qpkDLMoe3w3MlKRsfHFEtETEy0BTtr+UffaZdY2t3L9tEns66g4Y39Nex63rT+ZXWyYxeMJ2VjdOYMCgena/2VKlTs2sv4qId4TFfnv3tPZxN8VVIjDGARsLlpuzsaI1EdEG7AJGHWTblH0CIGmBpEZJjVu3bi1jGl07ZupI9nQUP3+4s3UQ63eO4OVtx/D0Y++lra2d6SdP6JU+zOzwNWDAAN73wXf+2yHBybnJVejonSoRGMWu39r58nxd1XR3/J2DEQsjIhcRuTFjeueX7Z78p9uo7eKgYVjHPpqbBnDbfR+lrr6OeZfO4JjhQ3qlDzM7vF157YUMHjqQ2roaAOrqaxg8dCCXf/38KneWV4m33ZuBwlgcD2zqoqZZUi0wHNhRYttS++xTQ/e0squuPotYIQJ1wAcGv8bOx4Kjdg3iO9/6LNNPnljNNs2sHzvhfWP5t3v/mnt+8ifWPr+JqSeN44IvfITRxx0aP5Wg6Opa3ak7yAfAi8BM4BVgBXBJRKwqqPkqcHJEXC5pLvDpiPicpJOAn5F/z+J4YBkwlfwRxkH3WUwul4vGxsay5nMwp/3T37GrdhBttaK+rYMPDn2V7b/dyRmnfoxvXvElamtreu25zcx6i6SVEZErVVf2EUZEtEm6ElgC1AC3RcQqSdcBjRHRANwK3CGpifyRxdxs21WS7gKeA9qAr0ZEezaBd+yz3F7LteKvr33n4F/0fR9mZtVQ9hHGoaS3jzDMzA5HqUcY/oaZmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZkrICQ9JISUslrcnuR3RRNy+rWSNpXsH4qZKekdQk6SZJysa/KekVSU9mt0+U06eZmZWv3COMq4BlETEVWJYtH0DSSOBa4MPA6cC1BcHyA2ABMDW7zS7Y9MaImJ7dfl1mn2ZmVqZyA2MOsCh7vAi4sEjNucDSiNgRETuBpcBsSWOBYRHxSEQEcHsX25uZ2SGg3MA4LiI2A2T3xxapGQdsLFhuzsbGZY87j+93paSnJd3W1akuMzPrOyUDQ9IDkp4tcpuT+BwqMhYHGYf8qar3ANOBzcD3DtLfAkmNkhq3bt2a2JKZmXVXbamCiDi7q3WStkgaGxGbs1NMrxUpawY+XrA8Hng4Gx/faXxT9pxbCp7jh8CvDtLfQmAhQC6Xi67qzMysPOWekmoA9n/qaR5wT5GaJcAsSSOyU0uzgCXZKaw3JJ2RfTrqsv3bZ+Gz36eAZ8vs08zMylTyCKOEfwTukjQf2AB8FkBSDrg8Ir4SETsk/T2wItvmuojYkT2+AvgxMBi4L7sBfFfSdPKnqNYB/6vMPs3MrEzKf0Dp8JDL5aKxsbHabZiZ9SuSVkZErlSdv+ltZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWpKzAkDRS0lJJa7L7EV3Uzctq1kiaVzD+bUkbJe3uVD9Q0p2SmiQtlzSpnD7NzKx85R5hXAUsi4ipwLJs+QCSRgLXAh8GTgeuLQiWe7OxzuYDOyNiCnAjcH2ZfZqZWZnKDYw5wKLs8SLgwiI15wJLI2JHROwElgKzASLi0YjYXGK/dwMzJanMXs3MrAzlBsZx+//Bz+6PLVIzDthYsNycjR3M29tERBuwCxhVZq9mZlaG2lIFkh4A3lVk1TWJz1HsyCAqtY2kBcACgIkTJya2ZGZm3VUyMCLi7K7WSdoiaWxEbJY0FnitSFkz8PGC5fHAwyWethmYADRLqgWGAzu66G8hsBAgl8uVCiIzM+uhck9JNQD7P/U0D7inSM0SYJakEdmb3bOysdT9XgQ8GBEOAzOzKio3MP4ROEfSGuCcbBlJOUm3AETEDuDvgRXZ7bpsDEnfldQMDJHULOmb2X5vBUZJagK+RpFPX5mZWd/S4fSHey6Xi8bGxmq3YWbWr0haGRG5UnX+preZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSUpKzAkjZS0VNKa7H5EF3Xzspo1kuYVjH9b0kZJuzvVf0nSVklPZrevlNOnmZmVr9wjjKuAZRExFViWLR9A0kjgWuDDwOnAtQXBcm82VsydETE9u91SZp9mZlamcgNjDrAoe7wIuLBIzbnA0ojYERE7gaXAbICIeDQiNpfZg5mZ9YFyA+O4/f/gZ/fHFqkZB2wsWG7Oxkr5jKSnJd0taUKZfZqZWZlqSxVIegB4V5FV1yQ+h4qMRYlt7gX+PSJaJF1O/ujlrC76WwAsAJg4cWJiS2Zm1l0lAyMizu5qnaQtksZGxGZJY4HXipQ1Ax8vWB4PPFziObcXLP4QuP4gtQuBhQC5XK5UEJmZWQ+Ve0qqAdj/qad5wD1FapYAsySNyN7snpWNdSkLn/0uAJ4vs08zMyuTInr+R7mkUcBdwERgA/DZiNghKQdcHhFfyeq+DHw92+zbEfGjbPy7wCXA8cAm4JaI+Kak75APijZgB3BFRLyQ0M9WYH2PJ5RuNLCtD57nUHSkzt3zPvIcSXN/d0SMKVVUVmAcqSQ1RkSu2n1Uw5E6d8/7yHMkz70r/qa3mZklcWCYmVkSB0bPLKx2A1V0pM7d8z7yHMlzL8rvYZiZWRIfYZiZWRIHRieSZktaLalJUrGLKQ6UdGe2frmkSQXrrs7GV0s6ty/7LldP5y1pkqQ9BVcW/te+7r1cCXP/mKTHJbVJuqjTuqJXYu4Pypx3e8Fr3tB3XZcvYd5fk/RcdmmiZZLeXbCu377eFRERvmU3oAZYC5wA1ANPAdM61fwl8K/Z47nkr6oLMC2rHwhMzvZTU+059cG8JwHPVnsOvTz3ScAHgNuBiwrGRwIvZfcjsscjqj2n3p53tm53tefQi/M+ExiSPb6i4P/1fvt6V+rmI4wDnQ40RcRLEdEKLCZ/Rd5ChVfovRuYKUnZ+OKIaImIl4Emur50+6GmnHn3dyXnHhHrIuJpoKPTtl1eibkfKGfe/VnKvB+KiLeyxUfJX84I+vfrXREOjAOlXFn37ZqIaAN2AaMStz1UlTNvgMmSnpD0W0kf7e1mK6yc1+1wf80PZpCkRkmPSir2swaHqu7Oez5wXw+3PeyUvPjgESblyrpd1fTkqryHinLmvRmYGBHbJZ0K/FLSSRHxeqWb7CXlvG6H+2t+MBMjYpOkE4AHJT0TEWsr1FtvSp63pC8AOeC/d3fbw5WPMA7UDBT+9sZ48te4KlojqRYYTv56VynbHqp6PO/sFNx2gIhYSf788Im93nHllPO6He6veZciYlN2/xL5q0+fUsnmelHSvCWdTf4nHC6IiJbubHs4c2AcaAUwVdJkSfXk39zt/AmQwiv0XgQ8GPl3xBqAudmniSYDU4HH+qjvcvV43pLGSKoByP7anEr+zcD+ImXuXen2lZgPIT2edzbfgdnj0cAM4Lle67SySs5b0inAv5EPi8KfbOjPr3dlVPtd90PtBnwCeJH8X8rXZGPXkf+fB2AQ8HPyb2o/BpxQsO012XargfOqPZe+mDfwGWAV+U+bPA6cX+259MLcTyP/1+WbwHZgVcG2X87+mzQBf1HtufTFvIGPAM9kr/kzwPxqz6XC834A2AI8md0aDofXuxI3f9PbzMyS+JSUmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVmS/w+uduXOv7WYPQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10935f850>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 421.094017873, time elaps:1\n",
      "CH_score_val: 6408.2014062\n",
      "K-means begin with clusters: 20\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107a3e050>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 202.049185055, time elaps:0\n",
      "CH_score_val: 3699.4433106\n",
      "K-means begin with clusters: 30\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10924d710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 453.310924719, time elaps:1\n",
      "CH_score_val: 3126.72451404\n",
      "K-means begin with clusters: 40\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD8CAYAAABkbJM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGnxJREFUeJzt3XuUnHWd5/H3p6+5kIRcGgi5mCBh3CC3tQy66uhMSAizSnBEjaOSdeLJ4MjMntHZXRxwUTwO4nFXx9ERw8UJ7HGDxmEIKmZCABl3BNIRhhAkpAnBNAmQ0CHk2tfv/lFPtNJUp37dVd2VTj6vc55T9fye3/PU95fK6U89l3pKEYGZmVkpNdUuwMzMhgcHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZkrpqF1BJkyZNihkzZlS7DDOzYWX9+vW7IqKpVL/jKjBmzJhBc3NztcswMxtWJD2f0s+HpMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCxJRQJD0gJJmyS1SLq6yPJGSXdmyx+RNCNrnydpvaQN2eMfFqzzlqy9RdI3JakStZqZ2cCUHRiSaoFvA5cAs4GPSJrdq9sSYHdEnAl8Hbgxa98FvC8izgEWA3cUrPMdYCkwK5sWlFurmZkNXCX2MOYALRGxJSI6gBXAwl59FgLLs+crgbmSFBGPRcT2rH0jMCLbG5kMjI2IX0ZEALcDl1WgVjMzG6BKBMYUYFvBfGvWVrRPRHQBe4CJvfp8AHgsItqz/q0ltmlmZkOorgLbKHZuIfrTR9LZ5A9Tze/HNg+vu5T8oSumT59eqlYzMxugSuxhtALTCuanAtv76iOpDhgHtGXzU4G7gCsi4tmC/lNLbBOAiFgWEbmIyDU1NZU5FDMz60slAmMdMEvSTEkNwCJgVa8+q8if1Aa4HLg/IkLSycBPgM9FxP873DkidgB7Jb0tuzrqCuDuCtRqZmYDVHZgZOckrgJWA78GfhARGyVdL+nSrNutwERJLcBngMOX3l4FnAl8XtLj2XRKtuxTwC1AC/AscG+5tZqZ2cApfxHS8SGXy0Vzc3O1yzAzG1YkrY+IXKl+/qa3mZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZkooEhqQFkjZJapF0dZHljZLuzJY/ImlG1j5R0gOS9kn6Vq91Hsy22fu3vs3MrArqyt2ApFrg28A8oBVYJ2lVRDxV0G0JsDsizpS0CLgR+DBwCPg88OZs6u2jEeEf6TYzOwZUYg9jDtASEVsiogNYASzs1WchsDx7vhKYK0kRsT8ifkE+OMzM7BhWicCYAmwrmG/N2or2iYguYA8wMWHb38sOR31ekipQq5mZDVAlAqPYH/IYQJ/ePhoR5wDvyqaPF31xaamkZknNO3fuLFmsmZkNTCUCoxWYVjA/FdjeVx9JdcA4oO1oG42IF7LHvcD3yR/6KtZvWUTkIiLX1NQ0oAGYmVlplQiMdcAsSTMlNQCLgFW9+qwCFmfPLwfuj4g+9zAk1UmalD2vB94LPFmBWs3MbIDKvkoqIrokXQWsBmqB2yJio6TrgeaIWAXcCtwhqYX8nsWiw+tL2gqMBRokXQbMB54HVmdhUQvcB9xcbq1mZjZwOsoH/WEnl8tFc7OvwjUz6w9J6yMiV6qfv+ltZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJKhIYkhZI2iSpRdLVRZY3SrozW/6IpBlZ+0RJD0jaJ+lbvdZ5i6QN2TrflKRK1GpmZgNTdmBIqgW+DVwCzAY+Iml2r25LgN0RcSbwdeDGrP0Q8Hngr4ts+jvAUmBWNi0ot1YzMxu4SuxhzAFaImJLRHQAK4CFvfosBJZnz1cCcyUpIvZHxC/IB8dvSZoMjI2IX0ZEALcDl1WgVjMzG6BKBMYUYFvBfGvWVrRPRHQBe4CJJbbZWmKbZmY2hCoRGMXOLcQA+gyov6SlkpolNe/cufMomzQzs3JUIjBagWkF81OB7X31kVQHjAPaSmxzaoltAhARyyIiFxG5pqamfpZuZmapKhEY64BZkmZKagAWAat69VkFLM6eXw7cn52bKCoidgB7Jb0tuzrqCuDuCtRqZmYDVFfuBiKiS9JVwGqgFrgtIjZKuh5ojohVwK3AHZJayO9ZLDq8vqStwFigQdJlwPyIeAr4FPCPwEjg3mwyM7Mq0VE+6A87uVwumpubq13GUbVsfpF7/nk9bW37efs7ZjF33ptpbKyvdllmdgKTtD4icqX6lb2HYenWrN7AN772Uzo7u+npCR5bv5W7Vq7j72/6BCNGODTM7NjmwBgkjz7yLDd/Zy2t29qY1DSGj17xDr71jX+hvb3rt30OHepk+wu7+ck9j/GBD86pYrVmZqX5XlKDoPnRLXzx2pU8t2UnnZ3d7Nj+Kn/3v39Gd0/P6/q2t3fx0AO/rkKVZmb94z2MQXDLd+8/Yk8CoLOju8/+J40ZMdglmZmVzXsYg2DbtqN9xeRII0bUs/CPS55rMjOrOgfGIDjttHFF20ePbqTplDGMHNXAqFENNDTU8qGPvI05F75xiCs0M+s/H5IaBJ/45Lu54Ut3H3FYasSIej66+J1c/qEL2bhhG3v2HODsc6YxfvzoKlZqZpbOgTEI3vn7b+Iz/72Lm2+6n1d27WXM2JF87Ip38v7L34okzjlverVLNDPrNwfGIJk7783MnfdmOju7qaurwb//ZGbDnQNjkNXX11a7BDOzivBJbzMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJBUJDEkLJG2S1CLp6iLLGyXdmS1/RNKMgmWfy9o3Sbq4oH2rpA2SHpd0bP/uqpnZCaDsb3pLqgW+DcwDWoF1klZFxFMF3ZYAuyPiTEmLgBuBD0uaDSwCzgZOB+6TdFZEHP7xiD+IiF3l1mhmZuWrxB7GHKAlIrZERAewAljYq89CYHn2fCUwV/mbKy0EVkREe0Q8B7Rk2zMzs2NMJQJjCrCtYL41ayvaJyK6gD3AxBLrBvAvktZLWlqBOs3MrAyVuPlgsduwRmKfo637jojYLukUYI2kpyPiode9eD5MlgJMn+7bhpuZDZZK7GG0AtMK5qcC2/vqI6kOGAe0HW3diDj8+DJwF30cqoqIZRGRi4hcU1NT2YMxM7PiKhEY64BZkmZKaiB/EntVrz6rgMXZ88uB+yMisvZF2VVUM4FZwKOSRksaAyBpNDAfeLICtQ6qfXsPsf2F3XR39VS7FDOziiv7kFREdEm6ClgN1AK3RcRGSdcDzRGxCrgVuENSC/k9i0XZuhsl/QB4CugCPh0R3ZJOBe7KfnSoDvh+RPys3FoHy8GDHXztKz/m337xDLW1NdTX1/LnfzGPeQvOrXZpZmYVo/wH/eNDLpeL5uah/8rG//ybH/LIL1vo7v7dnoUk/se1l3LRvDcPeT1mZv0haX1E5Er18y/uDUB7eyc33/YQP7n332k/1EHNoe7X9YkIbvjS3Wx/8VWu+Pg7q1ClmVll+dYg/RQR/NV/W8GP7mrm0KFO6Oh+3SVhhb53+y94eedrQ1afmdlgcWD00xMbWtnc8mJ+prsH9RS/NrjQPfc8Nuh1mZkNNgdGPz2z+UW6squg1B0lwwKgo/P1h6zMzIYbn8Pop4lNJ+WvBesGRnYT07ugXbC1DvX8Lj4CiDqBxPv+8/nVKtfMrGIcGP20ovtJuuuDmtwB4l3788EBqFPU3DEGvfS7f9KoreG9l5zH1KkTqlStmVnl+JBUPzy7ZxcPv/wMZ162mZp370N1oMb8FKODno/vJZQ/BV4j+Isr5/LZv1pQ5arNzCrDgdEPP3n+Mb44ayVdM3vo0ZFnLyToGQFM7wIgAk4/fXwVqjQzGxwOjEQRwfZXb2fy2Fd5bl8T6uNsd/fo7CJbgWpTTombmQ0PDoxELx3cxwWjnqaztpa9e0bRU+zCJwXdr9QTCmpG1tPUNHbI6zQzGywOjER1iPZ9DezpGom6g46D9fR05/cgogd6usWrL4yl7j8eoGfJXqZMn8AZM333XDM7fvgqqURdB3v4acu5THu5jS7VsLNlIiNPPsTIcYfo6a5hf9soRk88ABe2Q8DXblhU7ZLNzCrKgZFo1Kh6nuqcSk1NNzecvZJthybxwqvjeXr7ZJ7+9TTGn7yPxrMOAtA0YhwTJ55U5YrNzCrLgZHozid/wpuafsMbJrzMwwdm8q8v/R6vtJ9Ed20NE8fvZdQPofNciJPgihnzq12umVnF+RxGov/z5BOc1bSDDbtP58cvnsfe+kY0oofOBvHCtDHsmd1A7UN19HTDoQOjq12umVnFOTAS7e3s4Zdbz+ClEePoppYD+xvp6axh3NiD1Nd3suvtI+BVESFu3TD0v8lhZjbYfEgq0fjn29iTG0/b9jH0dAlqayCCA3tHcvLo19g9uo4D7XVEB+w/2FHtcs3MKs57GAkOdXQw+YJD7H16JGNq27nwtK2cNe5FEESI1w6cxJit7bz6hpEcfK2Ri2eeVe2SzWwYa93WxsP/tpntL+yudilH8B5GgtYXd/HSrpP52JxHee+UJ3hl51gmnrKX1xjBZx/5ILsOnMTIp9vZc8FIDu6u5a/nvKvaJZvZMNTe3skXr/0Rjz/+PHV1tXR1dpN76xlc+8X309BQ/T/XFdnDkLRA0iZJLZKuLrK8UdKd2fJHJM0oWPa5rH2TpItTtzmUtry2lTe+0kY8MJJrllzBN6+9lGuXfIx1/3QWf5v7J0DQLRraxIg9XdTWeMfNzPpv2T+s5fHHttLR3sWB/e10dHTRvG4L37vl59UuDahAYEiqBb4NXALMBj4iaXavbkuA3RFxJvB14MZs3dnAIuBsYAHwD5JqE7c5ZK657TYmHOjk0Z+fRVdnHYcONtDZUc+DPz2XZx+cwoz6V9j/pkZO2tpNz/hGHn7xN9Uq1cyGqYjgZ/c+QUfHkfcd6ujo4qc/PjZ+tbMSH4XnAC0RsSUiOoAVwMJefRYCy7PnK4G5kpS1r4iI9oh4DmjJtpeyzSHz6uO/4omHzqCjvf6I9o72etbefT65cc/x7km/oWtkNzG+jtc6DlWpUjMbriKgo72z6LJDh4q3D7VKBMYUYFvBfGvWVrRPRHQBe4CJR1k3ZZsASFoqqVlS886dO8sYRt9GnPsWOtqLHz/cv3cEPftr2fTsaeycW0tnTzcXnjZ9UOows+NXTY34D7Nf/2dOgnPPOzb+plQiMIrdwzsS+/S3/fWNEcsiIhcRuaamwbnZ34Zv3ExPY/FblTeM6+SZ3ZN49oIxNNTX8ZfnvYOJI0YNSh1mdnz7r5+9hJGjGqirqwWgvr6WkaMa+fRfHht3j6jEafdWYFrB/FRgex99WiXVAeOAthLrltrmkDowq4bRG3tQHM6zgBqY/PbdrG8/mVFj4baLPszbvHdhZgP0xjNP5dblf8ZdP1rHs5tfZNbvTeb9H8gx6Rj5qQRFFP3gnr6BfAA8A8wFXgDWAX8SERsL+nwaOCcirpS0CPjjiPiQpLOB75M/Z3E6sBaYRf4v8lG3WUwul4vm5sH7lvW7rvwC9S211BwETgpOy+3imTE1nDMrx3cv+wh1tbWD9tpmZoNF0vqIyJXqV/YeRkR0SboKWA3UArdFxEZJ1wPNEbEKuBW4Q1IL+T2LRdm6GyX9AHgK6AI+HRHd2QBet81yay3Xv970hWqXYGZWNWXvYRxLBnsPw8zseJS6h+FvmJmZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSUpKzAkTZC0RtLm7HF8H/0WZ302S1pc0P4WSRsktUj6piRl7V+Q9IKkx7Ppj8qp08zMylfuHsbVwNqImAWszeaPIGkCcB1wITAHuK4gWL4DLAVmZdOCglW/HhHnZ9NPy6zTzMzKVG5gLASWZ8+XA5cV6XMxsCYi2iJiN7AGWCBpMjA2In4ZEQHc3sf6ZmZ2DCg3ME6NiB0A2eMpRfpMAbYVzLdmbVOy573bD7tK0hOSbuvrUJeZmQ2dkoEh6T5JTxaZFia+hoq0xVHaIX+o6o3A+cAO4H8dpb6lkpolNe/cuTOxJDMz66+6Uh0i4qK+lkl6SdLkiNiRHWJ6uUi3VuA9BfNTgQez9qm92rdnr/lSwWvcDPz4KPUtA5YB5HK56KufmZmVp9xDUquAw1c9LQbuLtJnNTBf0vjs0NJ8YHV2CGuvpLdlV0ddcXj9LHwOez/wZJl1mplZmUruYZTwFeAHkpYAvwE+CCApB1wZEZ+MiDZJXwLWZetcHxFt2fNPAf8IjATuzSaAr0o6n/whqq3An5VZp5mZlUn5C5SOD7lcLpqbm6tdhpnZsCJpfUTkSvXzN73NzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySlBUYkiZIWiNpc/Y4vo9+i7M+myUtLmj/sqRtkvb16t8o6U5JLZIekTSjnDrNzKx85e5hXA2sjYhZwNps/giSJgDXARcCc4DrCoLlnqyttyXA7og4E/g6cGOZdZqZWZnKDYyFwPLs+XLgsiJ9LgbWRERbROwG1gALACLi4YjYUWK7K4G5klRmrWZmVoZyA+PUw3/ws8dTivSZAmwrmG/N2o7mt+tERBewB5hYZq1mZlaGulIdJN0HnFZk0TWJr1FszyAqtY6kpcBSgOnTpyeWZGZm/VUyMCLior6WSXpJ0uSI2CFpMvBykW6twHsK5qcCD5Z42VZgGtAqqQ4YB7T1Ud8yYBlALpcrFURmZjZA5R6SWgUcvuppMXB3kT6rgfmSxmcnu+dnbanbvRy4PyIcBmZmVVRuYHwFmCdpMzAvm0dSTtItABHRBnwJWJdN12dtSPqqpFZglKRWSV/ItnsrMFFSC/AZilx9ZWZmQ0vH0wf3XC4Xzc3N1S7DzGxYkbQ+InKl+vmb3mZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlqSswJA0QdIaSZuzx/F99Fuc9dksaXFB+5clbZO0r1f//yJpp6THs+mT5dRpZmblK3cP42pgbUTMAtZm80eQNAG4DrgQmANcVxAs92RtxdwZEedn0y1l1mlmZmUqNzAWAsuz58uBy4r0uRhYExFtEbEbWAMsAIiIhyNiR5k1mJnZECg3ME49/Ac/ezylSJ8pwLaC+dasrZQPSHpC0kpJ08qs08zMylRXqoOk+4DTiiy6JvE1VKQtSqxzD/B/I6Jd0pXk917+sI/6lgJLAaZPn55YkpmZ9VfJwIiIi/paJuklSZMjYoekycDLRbq1Au8pmJ8KPFjiNV8pmL0ZuPEofZcBywByuVypIDIzswEq95DUKuDwVU+LgbuL9FkNzJc0PjvZPT9r61MWPoddCvy6zDrNzKxMihj4h3JJE4EfANOB3wAfjIg2STngyoj4ZNbvT4G/yVb7ckR8L2v/KvAnwOnAduCWiPiCpBvIB0UX0AZ8KiKeTqhnJ/D8gAeUbhKwawhe51h0oo7d4z7xnEhjf0NENJXqVFZgnKgkNUdErtp1VMOJOnaP+8RzIo+9L/6mt5mZJXFgmJlZEgfGwCyrdgFVdKKO3eM+8ZzIYy/K5zDMzCyJ9zDMzCyJA6MXSQskbZLUIqnYzRQbJd2ZLX9E0oyCZZ/L2jdJungo6y7XQMctaYakgwV3Fr5pqGsvV8LYf1/SryR1Sbq817Kid2IeDsocd3fBe75q6KouX8K4PyPpqezWRGslvaFg2bB9vysiIjxlE1ALPAucATQA/w7M7tXnz4GbsueLyN9VF2B21r8RmJltp7baYxqCcc8Anqz2GAZ57DOAc4HbgcsL2icAW7LH8dnz8dUe02CPO1u2r9pjGMRx/wEwKnv+qYL/68P2/a7U5D2MI80BWiJiS0R0ACvI35G3UOEdelcCcyUpa18REe0R8RzQQt+3bj/WlDPu4a7k2CNia0Q8AfT0WrfPOzEPA+WMezhLGfcDEXEgm32Y/O2MYHi/3xXhwDhSyp11f9snIrqAPcDExHWPVeWMG2CmpMck/VzSuwa72Aor53073t/zoxkhqVnSw5KK/azBsaq/414C3DvAdY87JW8+eIJJubNuX30GclfeY0U5494BTI+IVyS9BfhnSWdHxGuVLnKQlPO+He/v+dFMj4jtks4A7pe0ISKerVBtgyl53JI+BuSAd/d33eOV9zCO1AoU/vbGVPL3uCraR1IdMI78/a5S1j1WDXjc2SG4VwAiYj3548NnDXrFlVPO+3a8v+d9iojt2eMW8nefvqCSxQ2ipHFLuoj8TzhcGhHt/Vn3eObAONI6YJakmZIayJ/c7X0FSOEdei8H7o/8GbFVwKLsaqKZwCzg0SGqu1wDHrekJkm1ANmnzVnkTwYOFylj70u/78R8DBnwuLPxNmbPJwHvAJ4atEorq+S4JV0AfJd8WBT+ZMNwfr8ro9pn3Y+1Cfgj4Bnyn5SvydquJ/+fB2AE8EPyJ7UfBc4oWPeabL1NwCXVHstQjBv4ALCR/NUmvwLeV+2xDMLY30r+0+V+4BVgY8G6f5r9m7QAn6j2WIZi3MB/AjZk7/kGYEm1x1Lhcd8HvAQ8nk2rjof3uxKTv+ltZmZJfEjKzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCzJ/weJOBHzdM9qcwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10a558210>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 137.482272933, time elaps:0\n",
      "CH_score_val: 3338.86197032\n",
      "K-means begin with clusters: 50\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD8CAYAAABkbJM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGq9JREFUeJzt3X2UVPWd5/H3px95UJCH1iBIIMokg0lWxxp1JjEajYjZiegJOSEPGzLRYZKNmz2bTc4hcbNmnXgmZnfjnkzcZIgPQXeNGnYytnki+DQZEyU0ahRUhhZQWgi2gAhIP3/3j7o4RVtN/bqruouGz+ucOlX3d7/39vdnefj0vbf6liICMzOzUmqq3YCZmY0ODgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyR11W6gkqZOnRqzZs2qdhtmZqPK2rVrX4mIplJ1R1VgzJo1i5aWlmq3YWY2qkh6IaXOp6TMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsSUUCQ9J8SRsktUpaWmR9o6S7s/WrJc3Kxi+WtFbS09nzhQXbnJWNt0r6jiRVolczMxuasgNDUi1wE3ApMBf4mKS5/cquBHZHxGnAjcAN2fgrwIci4l3AYuCOgm2+BywB5mSP+eX2amZmQ1eJI4yzgdaI2BQRXcBdwIJ+NQuA5dnrFcBFkhQRT0TEtmx8PTAmOxqZBkyIiEcjIoDbgcsr0KuZmQ1RJQJjOrC1YLktGytaExE9wB5gSr+aDwNPRERnVt9WYp9mZjaC6iqwj2LXFmIwNZJOJ3+aat4g9nlw2yXkT10xc+bMUr2amdkQVeIIow04pWB5BrBtoBpJdcBEYFe2PAP4CfCpiHi+oH5GiX0CEBHLIiIXEbmmpqYyp2JmZgOpRGCsAeZImi2pAVgENPeraSZ/URtgIfBgRISkE4CfAV+JiN8cLI6I7cBeSedmn476FHBvBXo1M7MhKjswsmsSVwMrgWeBeyJivaTrJF2Wld0CTJHUCnwROPjR26uB04CvSXoye5yYrfsccDPQCjwP/KLcXs3MbOiU/xDS0SGXy0VLS0u12zAzG1UkrY2IXKk6/6W3mZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZkooEhqT5kjZIapW0tMj6Rkl3Z+tXS5qVjU+R9JCkfZK+22+bh7N99v+ubzMzq4K6cncgqRa4CbgYaAPWSGqOiGcKyq4EdkfEaZIWATcAHwU6gK8B78we/X0iIvwl3WZmR4BKHGGcDbRGxKaI6ALuAhb0q1kALM9erwAukqSI2B8Rj5APDjMzO4JVIjCmA1sLltuysaI1EdED7AGmJOz7tux01NckqQK9mpnZEFUiMIr9Qx5DqOnvExHxLuC87PHviv5waYmkFkkt7e3tJZs1M7OhqURgtAGnFCzPALYNVCOpDpgI7DrcTiPipex5L3An+VNfxeqWRUQuInJNTU1DmoCZmZVWicBYA8yRNFtSA7AIaO5X0wwszl4vBB6MiAGPMCTVSZqava4H/gJYV4FezcxsiMr+lFRE9Ei6GlgJ1AK3RsR6SdcBLRHRDNwC3CGplfyRxaKD20vaAkwAGiRdDswDXgBWZmFRC9wP/KDcXs3MbOh0mF/0R51cLhctLf4UrpnZYEhaGxG5UnX+S28zM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0tSkcCQNF/SBkmtkpYWWd8o6e5s/WpJs7LxKZIekrRP0nf7bXOWpKezbb4jSZXo1czMhqbswJBUC9wEXArMBT4maW6/siuB3RFxGnAjcEM23gF8DfhSkV1/D1gCzMke88vt1czMhq4SRxhnA60RsSkiuoC7gAX9ahYAy7PXK4CLJCki9kfEI+SD4w2SpgETIuLRiAjgduDyCvRqZmZDVInAmA5sLVhuy8aK1kRED7AHmFJin20l9mlmZiOoEoFR7NpCDKFmSPWSlkhqkdTS3t5+mF2amVk5KhEYbcApBcszgG0D1UiqAyYCu0rsc0aJfQIQEcsiIhcRuaampkG2bmZmqSoRGGuAOZJmS2oAFgHN/WqagcXZ64XAg9m1iaIiYjuwV9K52aejPgXcW4FezcxsiOrK3UFE9Ei6GlgJ1AK3RsR6SdcBLRHRDNwC3CGplfyRxaKD20vaAkwAGiRdDsyLiGeAzwE/BMYCv8geZmZWJTrML/qjTi6Xi5aWlmq3cVjPr2/jp3f8ht0vv8a5F7+T919xFo1jGqrdlpkdwyStjYhcqbqyjzAs3QP/sIa/W3oP3d099PUGv//NRu697dfceO9/YsxYh4aZHdkcGMOk5eFnueX6Zl7a/DJT3nICH/vCxXzvv/4DnR3db9R0HOhi25ZX+OWdv+XyKy+oXrNmZgl8L6lhsPbXz/GNJbeyZcN2urt6+cOLO/nuNSvo7e17U21XRzf//NPfV6FLM7PB8RHGMLjtb+875EgCoLuzZ8D64yaOHe6WzMzK5iOMYdC2Kf0PCBvHNvChT583jN2YmVWGA2MYnDRjUtHxccePoenkExg7vpFxxzVS31jHws9eSO6CPx7hDs3MBs+npIbBp778b/nv//EOOg/862mpxrENfPwLl3DFX53PM2s2s2f3fk7PzeaEqcdXsVMzs3QOjGHwnvnvpvObH+W2b97Hzj+8xvEnjONjX5jHgs+8D0m885xTq92imdmgOTCGyYVX5LjwihzdXT3U1dfi738ys9HOgTHM6hv8n9jMjg6+6G1mZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlqQigSFpvqQNklolLS2yvlHS3dn61ZJmFaz7Sja+QdIlBeNbJD0t6UlJR/b3rpqZHQPK/jNkSbXATcDFQBuwRlJzRDxTUHYlsDsiTpO0CLgB+KikucAi4HTgZOB+SX8UEb3Zdu+PiFfK7dHMzMpXiSOMs4HWiNgUEV3AXcCCfjULgOXZ6xXARcrfXGkBcFdEdEbEZqA125+ZmR1hKhEY04GtBctt2VjRmojoAfYAU0psG8CvJK2VtKQCfZqZWRkqcWe8YrdhjcSaw237nojYJulEYJWk5yLi12/64fkwWQIwc+bM9K7NzGxQKnGE0QacUrA8A9g2UI2kOmAisOtw20bEweeXgZ8wwKmqiFgWEbmIyDU1NZU9GTMzK64SgbEGmCNptqQG8hexm/vVNAOLs9cLgQcjIrLxRdmnqGYDc4DfSRov6XgASeOBecC6CvQ6rPbteZ1tW16ht6e3dLGZ2ShT9impiOiRdDWwEqgFbo2I9ZKuA1oiohm4BbhDUiv5I4tF2bbrJd0DPAP0AJ+PiF5JJwE/yb50qA64MyJ+WW6vw6Xj9U6+/aUf8div1lFbV0N9Qx1Lrr2CD3z4T6vdmplZxSj/i/7RIZfLRUvLyP/JxnVX3cLvHlxPb0/fG2OqEV/6u09y4YfOGvF+zMwGQ9LaiMiVqvPXwQ1BZ1c337/zEe594Cm69nVy3OPbUL/cjb7gm//5Tl587XU+/YnzqtOomVkF+dYggxQRXP3ffszdP3+cjs4eGrbuefNnwjI1Hb384CeP8fLO10a2STOzYeDAGKQnn32JDZt3AFC3+wAN7fuLfjb4oOjt4x9/9sTINGdmNowcGIO0YdMOerJrFQ079r3pVFShqBXU1NDd7U9Nmdno52sYg9Q0+bg3XjeM62Ly6fvo2V/DnqfGQt+/HmsE0DFzIpK47NIzqtCpmVllOTAG6VcPPQMBs9+zhbd/dQvRnQ+Jvi6x/qsns39zY76wRnRPHc8V55/OKSdPrmLHZmaV4VNSg/BC204eX/c8p13cytvfv4Xa+qBuXB914/qon9DL3G9sg5r8OSpJfPnDf86X/8OlVe7azKwyfIQxCKseeZozr1pD/dgeamoOvXihGqgZF0yY28Fr68YSBNNOnlSlTs3MKs9HGIkigjU7f8r4KQc4sL8RFfsvJ1FzfLzxOiY0jmiPZmbDyYGR6JVd+2g6czN19X1s39hET9eb/9OpJnh1yziog653NHHi1AlV6NTMbHj4lFSi+gZQff7jsb3dNexpP46JTfuoa+ijrw/6emtY//CpzLqsnfHv7uYPD5/BqTN991wzO3o4MBKp8QAbHp1J7t9s5H3nPsn//eElvOVtu5h2ajtdHfVsfmo6r742njmLX2Ts+E6WvndhtVs2M6soB0aiMbVj+eDZLezYO5HbH7mI/RMa2Nd+Elu2T2XsuC76jgviddjy3DTOOXcvUycdV3qnZmajiK9hJHp08w94Zd9xrH7yj6l9NjjpoZ1M+2U7E9buo7c7mPTedqgPDuxv5Lymj1e7XTOzinNgJGrb82MeefKdbHl6EjU7uiCCvhoxdnsnJ9y3nwPrxnH8219lyomv8vJjJ1W7XTOzinNgJOrp7OOFpyYy5Yl9REMNr54+jr2njqF3jKAn6PtFAw0Tujjx5N2s+PHqardrZlZxvoaRaMXd72Xctm5eumIyPWNq6aurRd197DrzOKb/fBe1L3dDZx8H9jayt7e72u2amVWcjzASdHR1sfO5OurO7KGnppaGV0X9a31EnYiGGnacPxFqatm5dTLbN03lvPe+o9otm9ko9tLmdlbfv55tW16pdiuH8BFGgj+07+Dcs7byyI53M/2JTtTTTYypp3dcLTvOaKDn+FqiTnT2NPCH9U381bfPr3bLZjYKdXZ08Y2/vo2nHm2lrr6Wnq4e/uT8d/CVmz5NQ2P1/7muyBGGpPmSNkhqlbS0yPpGSXdn61dLmlWw7ivZ+AZJl6TucyRt2vECz7Y0MfGftlH/2w3UtWym/p83UL9uByetO0AAfbUCwYTW16it8YGbmQ3eLdc389RvN9LV0c3rezvo6uzh8V9v4Pb/8bNqtwZUIDAk1QI3AZcCc4GPSZrbr+xKYHdEnAbcCNyQbTsXWAScDswH/rek2sR9jpiv3Xoz8UpQs/1VFIF6+1BfUPvSThqe3c24bZ3sn9VI49guYtdx/H7tlmq1amajVETwq3tW09XZc8h4V0c3v/zRY1Xq6lCV+FX4bKA1IjZFRBdwF7CgX80CYHn2egVwkSRl43dFRGdEbAZas/2l7HPEbPvVY8S/7EF9/e5Q2xfUvLiT43sO0Du+hnE7D1A7poH9ezuq1KmZjVYRQVdHT9F1Ha93jXA3xVUiMKYDWwuW27KxojUR0QPsAaYcZtuUfQIgaYmkFkkt7e3tZUxjYLPel4PevuIru3vpmFTPxKa91O3uo7u7l3edNWtY+jCzo1dNTQ3v+JO3vmlcgnedc2oVOnqzSgSGioz1/6brgWoGO/7mwYhlEZGLiFxT0/Dc7O+hm/8P0VRffOW0Bhq7D/BnlzzDuPZGPrnkfE6YNH5Y+jCzo9vV13+EseMbqauvBaC+oZax48fw2a9fUeXO8ipx2b0NOKVgeQawbYCaNkl1wERgV4ltS+1zRE340Fheu6MHdQcin15RL+o/MY4/m/Eca9a9kxv/y2Le7aMLMxuit82dzt8/sJR7b/s1z69/iTnvOoXL/vI8pr7lhGq3BlQmMNYAcyTNBl4ifxG7/82UmoHFwKPAQuDBiAhJzcCdkr4NnAzMAX5H/gij1D5H1P+76SauqP88Hb/ppGd7L3VvraXvfRM4eVobfSf8BSsXfpq6mtpqtmhmR4Gmkydx1TVVu2R7WGUHRkT0SLoaWAnUArdGxHpJ1wEtEdEM3ALcIamV/JHFomzb9ZLuAZ4BeoDPR0QvQLF9lttruX7yv26qdgtmZlWjiKKXBkalXC4XLS0t1W7DzGxUkbQ2InKl6vwXZmZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZknKCgxJkyWtkrQxe540QN3irGajpMUF42dJelpSq6TvSFI2/nVJL0l6Mnt8sJw+zcysfOUeYSwFHoiIOcAD2fIhJE0GrgXOAc4Gri0Ilu8BS4A52WN+waY3RsQZ2ePnZfZpZmZlKjcwFgDLs9fLgcuL1FwCrIqIXRGxG1gFzJc0DZgQEY9GRAC3D7C9mZkdAcoNjJMiYjtA9nxikZrpwNaC5bZsbHr2uv/4QVdLekrSrQOd6jIzs5FTMjAk3S9pXZHHgsSfoSJjcZhxyJ+qOhU4A9gO/M/D9LdEUouklvb29sSWzMxssOpKFUTEBwZaJ2mHpGkRsT07xfRykbI24IKC5RnAw9n4jH7j27KfuaPgZ/wA+Olh+lsGLAPI5XIxUJ2ZmZWn3FNSzcDBTz0tBu4tUrMSmCdpUnZqaR6wMjuFtVfSudmnoz51cPssfA66AlhXZp9mZlamkkcYJXwTuEfSlcCLwEcAJOWAz0bEVRGxS9LfAGuyba6LiF3Z688BPwTGAr/IHgDfknQG+VNUW4C/LrNPMzMrk/IfUDo65HK5aGlpqXYbZmajiqS1EZErVee/9DYzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0tSVmBImixplaSN2fOkAeoWZzUbJS0uGL9e0lZJ+/rVN0q6W1KrpNWSZpXTp5mZla/cI4ylwAMRMQd4IFs+hKTJwLXAOcDZwLUFwXJfNtbflcDuiDgNuBG4ocw+zcysTOUGxgJgefZ6OXB5kZpLgFURsSsidgOrgPkAEfFYRGwvsd8VwEWSVGavZmZWhnID46SD/+BnzycWqZkObC1YbsvGDueNbSKiB9gDTCmzVzMzK0NdqQJJ9wNvKbLqmsSfUezIICq1jaQlwBKAmTNnJrZkZmaDVTIwIuIDA62TtEPStIjYLmka8HKRsjbggoLlGcDDJX5sG3AK0CapDpgI7Bqgv2XAMoBcLlcqiMzMbIjKPSXVDBz81NNi4N4iNSuBeZImZRe752VjqftdCDwYEQ4DM7MqKjcwvglcLGkjcHG2jKScpJsBImIX8DfAmuxxXTaGpG9JagPGSWqT9PVsv7cAUyS1Al+kyKevzMxsZOlo+sU9l8tFS0tLtdswMxtVJK2NiFypOv+lt5mZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJSkrMCRNlrRK0sbsedIAdYuzmo2SFheMXy9pq6R9/eo/Lald0pPZ46py+jQzs/KVe4SxFHggIuYAD2TLh5A0GbgWOAc4G7i2IFjuy8aKuTsizsgeN5fZp5mZlancwFgALM9eLwcuL1JzCbAqInZFxG5gFTAfICIei4jtZfZgZmYjoNzAOOngP/jZ84lFaqYDWwuW27KxUj4s6SlJKySdUmafZmZWprpSBZLuB95SZNU1iT9DRcaixDb3AT+KiE5JnyV/9HLhAP0tAZYAzJw5M7ElMzMbrJKBEREfGGidpB2SpkXEdknTgJeLlLUBFxQszwAeLvEzdxYs/gC44TC1y4BlALlcrlQQmZnZEJV7SqoZOPipp8XAvUVqVgLzJE3KLnbPy8YGlIXPQZcBz5bZp5mZlUkRQ/+lXNIU4B5gJvAi8JGI2CUpB3w2Iq7K6j4DfDXb7PqIuC0b/xbwceBkYBtwc0R8XdLfkg+KHmAX8LmIeC6hn3bghSFPKN1U4JUR+DlHomN17p73sedYmvtbI6KpVFFZgXGsktQSEblq91ENx+rcPe9jz7E894H4L73NzCyJA8PMzJI4MIZmWbUbqKJjde6e97HnWJ57Ub6GYWZmSXyEYWZmSRwY/UiaL2mDpFZJxW6m2Cjp7mz9akmzCtZ9JRvfIOmSkey7XEOdt6RZkg4U3Fn4+yPde7kS5v4+SY9L6pG0sN+6ondiHg3KnHdvwXvePHJdly9h3l+U9Ex2a6IHJL21YN2ofb8rIiL8yB5ALfA88DagAfg9MLdfzb8Hvp+9XkT+rroAc7P6RmB2tp/aas9pBOY9C1hX7TkM89xnAe8GbgcWFoxPBjZlz5Oy15OqPafhnne2bl+15zCM834/MC57/bmC/9dH7ftdqYePMA51NtAaEZsiogu4i/wdeQsV3qF3BXCRJGXjd0VEZ0RsBloZ+NbtR5py5j3alZx7RGyJiKeAvn7bDngn5lGgnHmPZinzfigiXs8WHyN/OyMY3e93RTgwDpVyZ903aiKiB9gDTEnc9khVzrwBZkt6QtI/STpvuJutsHLet6P9PT+cMZJaJD0mqdjXGhypBjvvK4FfDHHbo07Jmw8eY1LurDtQzVDuynukKGfe24GZEbFT0lnAP0o6PSJeq3STw6Sc9+1of88PZ2ZEbJP0NuBBSU9HxPMV6m04Jc9b0ieBHHD+YLc9WvkI41BtQOF3b8wgf4+rojWS6oCJ5O93lbLtkWrI885Owe0EiIi15M8P/9Gwd1w55bxvR/t7PqCI2JY9byJ/9+kzK9ncMEqat6QPkP8Kh8sionMw2x7NHBiHWgPMkTRbUgP5i7v9PwFSeIfehcCDkb8i1gwsyj5NNBuYA/xuhPou15DnLalJUi1A9tvmHPIXA0eLlLkPZNB3Yj6CDHne2Xwbs9dTgfcAzwxbp5VVct6SzgT+nnxYFH5lw2h+vyuj2lfdj7QH8EHgX8j/pnxNNnYd+f95AMYAPyZ/Uft3wNsKtr0m224DcGm15zIS8wY+DKwn/2mTx4EPVXsuwzD3PyX/2+V+YCewvmDbz2T/TVqBv6z2XEZi3sCfA09n7/nTwJXVnkuF530/sAN4Mns0Hw3vdyUe/ktvMzNL4lNSZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJ/j9M3xvpVTU2bAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x108041750>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 111.868541977, time elaps:0\n",
      "CH_score_val: 3042.33654092\n",
      "K-means begin with clusters: 60\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x108041d10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 457.623030133, time elaps:0\n",
      "CH_score_val: 1773.02627048\n",
      "K-means begin with clusters: 70\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109369090>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 2533.85505158, time elaps:0\n",
      "CH_score_val: 1823.32468693\n",
      "K-means begin with clusters: 80\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x102a974d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 85.6238330288, time elaps:1\n",
      "CH_score_val: 2775.4152823\n",
      "K-means begin with clusters: 90\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f800110>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 72.8855423105, time elaps:1\n",
      "CH_score_val: 2138.65230768\n",
      "K-means begin with clusters: 100\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD8CAYAAABkbJM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGiBJREFUeJzt3X2UXHWd5/H3p6u6OwkPIQ8NhDQxIJlxAPeo1ER3HR3kMbirjSOzRh3JKG4UzZw9h511cV0XF8cZcGflrCPjTOTBwBw3IDMMLSPGAOLoDGA6ygCJZmge00kGAskEEtPd6a7v/lE3WGmqU7/uW92VTj6vc+6pe3/3d299f6mc/tS9t+qWIgIzM7N6WppdgJmZTQ0ODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJMVmF9BIc+fOjYULFza7DDOzKWX9+vUvRkRHvX6HVWAsXLiQnp6eZpdhZjalSHo2pZ9PSZmZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVmShgSGpCWSNknqlXRljfXtkm7L1j8saWHWfr6k9ZIeyx7PqdrmrKy9V9JXJakRtZqZ2fjkDgxJBeB64CLgdOCDkk4f0e0yYGdEnAZcB1ybtb8IvCci3ggsA26t2ubrwHJgUTYtyVurmZmNXyOOMBYDvRHxVEQMAquBrhF9uoBV2fwdwLmSFBE/i4itWfsGYFp2NDIPODYiHoyIAG4BLm5ArWZmNk6NCIz5wOaq5b6srWafiBgCdgFzRvR5P/CziBjI+vfV2aeZmU2iYgP2UevaQoylj6QzqJymumAM+9y/7XIqp65YsGBBvVrNzGycGnGE0QecXLXcCWwdrY+kIjAT2JEtdwJ3ApdGxJNV/Tvr7BOAiFgZEaWIKHV0dOQcipmZjaYRgbEOWCTpFEltwFKge0SfbioXtQEuAe6PiJB0HPB3wGcj4h/2d46IbcArkt6WfTrqUuCuBtRqZmbjlDswsmsSK4A1wM+B2yNig6SrJb0363YjMEdSL3AFsP+jtyuA04DPS3okm47P1l0O3AD0Ak8C9+St1czMxk+VDyEdHkqlUvT09DS7DDOzKUXS+ogo1evnb3qbmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklaUhgSFoiaZOkXklX1ljfLum2bP3DkhZm7XMk/UDSbklfG7HNA9k+R/7Wt5mZNUEx7w4kFYDrgfOBPmCdpO6I2FjV7TJgZ0ScJmkpcC3wAaAf+DxwZjaN9OGI8I90m5kdAhpxhLEY6I2IpyJiEFgNdI3o0wWsyubvAM6VpIjYExE/phIcZmZ2CGtEYMwHNlct92VtNftExBCwC5iTsO+bs9NRn5ekBtRqZmbj1IjAqPWHPMbRZ6QPR8QbgXdk00dqPrm0XFKPpJ7t27fXLdbMzManEYHRB5xctdwJbB2tj6QiMBPYcbCdRsSW7PEV4FtUTn3V6rcyIkoRUero6BjXAMzMrL5GBMY6YJGkUyS1AUuB7hF9uoFl2fwlwP0RMeoRhqSipLnZfCvwH4DHG1CrmZmNU+5PSUXEkKQVwBqgANwUERskXQ30REQ3cCNwq6ReKkcWS/dvL+kZ4FigTdLFwAXAs8CaLCwKwL3AN/LWamZm46eDvNGfckqlUvT0+FO4ZmZjIWl9RJTq9fM3vc3MLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLElDAkPSEkmbJPVKurLG+nZJt2XrH5a0MGufI+kHknZL+tqIbc6S9Fi2zVclqRG1mpnZ+OQODEkF4HrgIuB04IOSTh/R7TJgZ0ScBlwHXJu19wOfB/6wxq6/DiwHFmXTkry1mpnZ+DXiCGMx0BsRT0XEILAa6BrRpwtYlc3fAZwrSRGxJyJ+TCU4XiVpHnBsRDwYEQHcAlzcgFrNzGycGhEY84HNVct9WVvNPhExBOwC5tTZZ1+dfZqZ2SRqRGDUurYQ4+gzrv6SlkvqkdSzffv2g+zSzMzyaERg9AEnVy13AltH6yOpCMwEdtTZZ2edfQIQESsjohQRpY6OjjGWbmZmqRoRGOuARZJOkdQGLAW6R/TpBpZl85cA92fXJmqKiG3AK5Leln066lLgrgbUamZm41TMu4OIGJK0AlgDFICbImKDpKuBnojoBm4EbpXUS+XIYun+7SU9AxwLtEm6GLggIjYClwPfBKYD92STmZk1iQ7yRn/KKZVK0dPT0+wyDurJjVu4+6/+kZ3bX+Ft553Bu7reQvu01maXZWZHMEnrI6JUr1/uIwxLd9+dPfzZ5/6affuGKA8H//SPvdz1zR9z3d/8AdOmtzW7PDOzg3JgTJCeH/6CG6+5my1Pb2fOCTP54Irz+Pr/+lsG+ve92qd/7yBbn32R761+iIs/+s4mVmtmVp/vJTUB1v9oE390+Sqe2fQv7Bsc5l827+Brn/8bhofKr+k72L+PH3330SZUaWY2Nj7CmAA3X/t3BxxJAOwbHBq1/9HHTp/okszMcvMRxgToezr9C4Tt09t4z6Vvn8BqzMwaw4ExAU7onF2zfcYx0+iYN5PpR7Uz4+h2WtuLXLL8bEq//YZJrtDMbOx8SmoCXHrFEv73Fd9iYO+vTku1T2/jQyvO432XvZONPc+wa+cezjhrIcfNPaaJlZqZpXNgTIC3X/hGBv74Em6+9ru89PzLHHPcdD644ny6fv+3kMSZi09tdolmZmPmwJgg53SdxTldZ7FvcIhiawH//pOZTXUOjAnW2uZ/YjM7PPiit5mZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZkoYEhqQlkjZJ6pV0ZY317ZJuy9Y/LGlh1brPZu2bJF1Y1f6MpMckPSLp0P7dVTOzI0DuryFLKgDXA+cDfcA6Sd0RsbGq22XAzog4TdJS4FrgA5JOB5YCZwAnAfdK+rWIGM62e1dEvJi3RjMzy68RRxiLgd6IeCoiBoHVQNeIPl3Aqmz+DuBcVW6u1AWsjoiBiHga6M32Z2Zmh5hGBMZ8YHPVcl/WVrNPRAwBu4A5dbYN4PuS1kta3oA6zcwsh0bcGa/WbVgjsc/Btn17RGyVdDywVtIvIuLvX/PklTBZDrBgwYL0qs3MbEwacYTRB5xctdwJbB2tj6QiMBPYcbBtI2L/4wvAnYxyqioiVkZEKSJKHR0duQdjZma1NSIw1gGLJJ0iqY3KRezuEX26gWXZ/CXA/RERWfvS7FNUpwCLgJ9IOkrSMQCSjgIuAB5vQK0TavfLe9n67IsMDw3X72xmNsXkPiUVEUOSVgBrgAJwU0RskHQ10BMR3cCNwK2SeqkcWSzNtt0g6XZgIzAEfDoihiWdANyZ/ehQEfhWRHwvb60Tpf+XA3zlM7fz0L0bKBRbaG0rsvx/vJfzfqfU7NLMzBpGlTf6h4dSqRQ9PZP/lY2rP3EzP/nBzxkeKr/aJok//NMPcM77HBpmdmiTtD4i6v6x8s/BjcPA3kFu/sId3LPqhwwMDKFZxzHy+n1E8OX//Fdse2IbH/7Me5pTqJlZA/nWIGMUEXzm31/DnX++hv7+ITj6aEY9SCsUuOWLf832LTsmtUYzs4ngwBijx/9hE72PPAtt7ZUji2KR7FrLKIK7b3pgssozM5swDowxeuKRZxgeGkbHHI2kg4dFBAQMDQ5NXoFmZhPE1zDGaM6846ClkrMhoNBS+arhcPmAqxhRDmL3HpC4aNk7m1GqmVlDOTDG6N5bHiCGhqGtiKa1/err6gGxdwCV91/QCBjo590fP5fO005sXsFmZg3iwBiD536xhZ61jxFzZqNpbSBVHVUETG8n9vQjoKWlhU/834/S9bGzm1WumVlDOTDGYO2tf095QSdqLb72JlgSEJVTVMNlIsqc+DrfqsTMDh++6J0oIui+7SHYHxYH/WQUgNCwbxFiZocPB0ail7buoL9tOmppgXIw6pcvymWCoGWgn46TZk1ukWZmE8inpBK1tBahNfvniqrAkH41P1wmprVBsUDn3GmccubJtXdmZjYFOTASDQ0Hw0VReLkf2lvRUBla9KtTU+Uy0VqAtlaI4I+7/0tzCzYzazAHRqIZR7VzVMte+ttaodBCFLOgGCqDguFj2ilklyzmnjCTOSce17xizcwmgAMj0d3f/jZ79hXZM79I+Zjp7J3XRhSg/cVBZj49SMtgENnpqd/7T/6inpkdfhwYie6+cx2vdM5m96lHUZ6WnYpSC+X50+g/vp0TH3yZoIWWoWH2/rr/Wc3s8ONPSSV6+uhj2XNyK9FeINoLlKe3UG4LogXKbbDzN2ZAOVDALQ8+3OxyzcwazoGRaFfHdMoz2hiaBTEjKE+DmAb7joUowt7ji+w5SVAuM7Rlb7PLNTNrOAdGgoF9g5y44wWmdQ4QiLKymw+2CFrE8HQx7bgBdr+uDYaGOefMNzS5YjObyrY8vZ2H79vI1mdfbHYpB/DJ9gR9//oCJ7/jFbb8aydSUBwaplwUtATD5WIldlVGwwWiJfj0e85tdslmNgUN9O/jjz61ikcfepJiscDQviHe8o5f57N/9hHa2pv/57ohRxiSlkjaJKlX0pU11rdLui1b/7CkhVXrPpu1b5J0Yeo+J1Pv9ud4sjCX1pcKHP1MC9M2F5nxdIHiiy20FweIgEJrmRlb9vHLzukU5AM3Mxu7G6+5m0cf7GWwfx+/3N3P4MAQP/3RJm75yj3NLg1oQGBIKgDXAxcBpwMflHT6iG6XATsj4jTgOuDabNvTgaXAGcAS4M8lFRL3OWn+9Jav8cvnZlN8uQUFr05tu1pgRyvT9g5QLsBRW/ex7/VHse6pzc0q1cymqIjg+9/+CYMDB/7g2uDAEN9bfWh8kKYRb4UXA70R8VREDAKrga4RfbqAVdn8HcC5qvxUXRewOiIGIuJpoDfbX8o+J03v939KbG9HI24fpYDWnaJj5i46Nr9CmQHiuGm8vHegOYWa2ZQVEQz21/51zv69g5NcTW2NCIz5QPVb6r6srWafiBgCdgFzDrJtyj4BkLRcUo+knu3bt+cYxujmv+XfQrn2OpWhvK/AvheK7D6mzL7hYX7z1M4JqcPMDl8tLS284c0LXtMuwRsXv74JFb1WIwKj1n2+R97KdbQ+Y21/bWPEyogoRUSpo2Nifn/ixzfczPSZ/TXXTT+un5f3tLLv4VfQqbP41HlvY/bRMyakDjM7vK344vuZflQ7xdYCAK1tBaYfNY1P/s+mnWA5QCMuu/cB1bdl7QS2jtKnT1IRmAnsqLNtvX1OqraTXmZgTxvloRYqeRa0FMrMmPMKM34xwHBbmeuv/IiPLsxs3E79jZP4yzX/lbtW/YgnN25l0ZmdvHfZbzH3xJnNLg0AxWi/65C6g0oA/DNwLrAFWAd8KCI2VPX5NPDGiPikpKXA70TEf5R0BvAtKtcsTgLuAxZR+Yt80H3WUiqVoqenJ9d4DuZd115JYaCdvbvamTFrLwOC4s93cOaxi/jKV/+AYrEwYc9tZjZRJK2PiFK9frmPMCJiSNIKYA1QAG6KiA2SrgZ6IqIbuBG4VVIvlSOLpdm2GyTdDmwEhoBPR8RwNoDX7DNvrXn94L9d0+wSzMyaJvcRxqFkoo8wzMwOR6lHGP6GmZmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWZJcgSFptqS1kp7IHmeN0m9Z1ucJScuq2s+S9JikXklflaSs/QuStkh6JJvenadOMzPLL+8RxpXAfRGxCLgvWz6ApNnAVcBbgcXAVVXB8nVgObAom5ZUbXpdRLwpm76bs04zM8spb2B0Aauy+VXAxTX6XAisjYgdEbETWAsskTQPODYiHoyIAG4ZZXszMzsE5A2MEyJiG0D2eHyNPvOBzVXLfVnb/Gx+ZPt+KyQ9Kumm0U51mZnZ5KkbGJLulfR4jakr8TlUoy0O0g6VU1WvB94EbAP+z0HqWy6pR1LP9u3bE0syM7OxKtbrEBHnjbZO0vOS5kXEtuwU0ws1uvUBZ1ctdwIPZO2dI9q3Zs/5fNVzfAO4+yD1rQRWApRKpRitn5mZ5ZP3lFQ3sP9TT8uAu2r0WQNcIGlWdmrpAmBNdgrrFUlvyz4dden+7bPw2e99wOM56zQzs5zqHmHUcQ1wu6TLgOeA3wWQVAI+GREfj4gdkr4IrMu2uToidmTzlwPfBKYD92QTwJclvYnKKapngE/krNPMzHJS5QNKh4dSqRQ9PT3NLsPMbEqRtD4iSvX6+ZveZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSXIFhqTZktZKeiJ7nDVKv2VZnyckLatq/5KkzZJ2j+jfLuk2Sb2SHpa0ME+dZmaWX94jjCuB+yJiEXBftnwASbOBq4C3AouBq6qC5TtZ20iXATsj4jTgOuDanHWamVlOeQOjC1iVza8CLq7R50JgbUTsiIidwFpgCUBEPBQR2+rs9w7gXEnKWauZmeWQNzBO2P8HP3s8vkaf+cDmquW+rO1gXt0mIoaAXcCcnLWamVkOxXodJN0LnFhj1ecSn6PWkUE0ahtJy4HlAAsWLEgsyczMxqpuYETEeaOtk/S8pHkRsU3SPOCFGt36gLOrljuBB+o8bR9wMtAnqQjMBHaMUt9KYCVAqVSqF0RmZjZOeU9JdQP7P/W0DLirRp81wAWSZmUXuy/I2lL3ewlwf0Q4DMzMmihvYFwDnC/pCeD8bBlJJUk3AETEDuCLwLpsujprQ9KXJfUBMyT1SfpCtt8bgTmSeoErqPHpKzMzm1w6nN64l0ql6OnpaXYZZmZTiqT1EVGq18/f9DYzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyS5AkPSbElrJT2RPc4apd+yrM8TkpZVtX9J0mZJu0f0/31J2yU9kk0fz1OnmZnll/cI40rgvohYBNyXLR9A0mzgKuCtwGLgqqpg+U7WVsttEfGmbLohZ51mZpZT3sDoAlZl86uAi2v0uRBYGxE7ImInsBZYAhARD0XEtpw1mJnZJMgbGCfs/4OfPR5fo898YHPVcl/WVs/7JT0q6Q5JJ+es08zMcirW6yDpXuDEGqs+l/gcqtEWdbb5DvD/ImJA0iepHL2cM0p9y4HlAAsWLEgsyczMxqpuYETEeaOtk/S8pHkRsU3SPOCFGt36gLOrljuBB+o850tVi98Arj1I35XASoBSqVQviMzMbJzynpLqBvZ/6mkZcFeNPmuACyTNyi52X5C1jSoLn/3eC/w8Z51mZpaTIsb/plzSHOB2YAHwHPC7EbFDUgn4ZER8POv3MeC/Z5t9KSJuztq/DHwIOAnYCtwQEV+Q9CdUgmII2AFcHhG/SKhnO/DsuAeUbi7w4iQ8z6HoSB27x33kOZLG/rqI6KjXKVdgHKkk9UREqdl1NMOROnaP+8hzJI99NP6mt5mZJXFgmJlZEgfG+KxsdgFNdKSO3eM+8hzJY6/J1zDMzCyJjzDMzCyJA2MESUskbZLUK6nWzRTbJd2WrX9Y0sKqdZ/N2jdJunAy685rvOOWtFDS3qo7C//FZNeeV8LY3ynpp5KGJF0yYl3NOzFPBTnHPVz1mndPXtX5JYz7Ckkbs1sT3SfpdVXrpuzr3RAR4SmbgALwJHAq0Ab8E3D6iD6fAv4im19K5a66AKdn/duBU7L9FJo9pkkY90Lg8WaPYYLHvhD4N8AtwCVV7bOBp7LHWdn8rGaPaaLHna3b3ewxTOC43wXMyOYvr/q/PmVf70ZNPsI40GKgNyKeiohBYDWVO/JWq75D7x3AuZKUta+OiIGIeBroZfRbtx9q8ox7qqs79oh4JiIeBcojth31TsxTQJ5xT2Up4/5BRPwyW3yIyu2MYGq/3g3hwDhQyp11X+0TEUPALmBO4raHqjzjBjhF0s8k/VDSOya62AbL87od7q/5wUyT1CPpIUm1ftbgUDXWcV8G3DPObQ87dW8+eIRJubPuaH3Gc1feQ0WecW8DFkTES5LOAv5W0hkR8XKji5wgeV63w/01P5gFEbFV0qnA/ZIei4gnG1TbREoet6TfA0rAb49128OVjzAO1AdU//ZGJ5V7XNXsI6kIzKRyv6uUbQ9V4x53dgruJYCIWE/l/PCvTXjFjZPndTvcX/NRRcTW7PEpKneffnMji5tASeOWdB6Vn3B4b0QMjGXbw5kD40DrgEWSTpHURuXi7shPgFTfofcS4P6oXBHrBpZmnyY6BVgE/GSS6s5r3OOW1CGpAJC921xE5WLgVJEy9tGM+U7Mh5Bxjzsbb3s2Pxd4O7BxwiptrLrjlvRm4C+phEX1TzZM5de7MZp91f1Qm4B3A/9M5Z3y57K2q6n85wGYBnybykXtnwCnVm37uWy7TcBFzR7LZIwbeD+wgcqnTX4KvKfZY5mAsf8mlXeXe4CXgA1V234s+zfpBT7a7LFMxriBfwc8lr3mjwGXNXssDR73vcDzwCPZ1H04vN6NmPxNbzMzS+JTUmZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSf4/zRviatfo2p0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x102ab8190>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 47.2961374661, time elaps:1\n",
      "CH_score_val: 1436.06376309\n"
     ]
    }
   ],
   "source": [
    "# 设置超参数（聚类数目K）搜索范围\n",
    "Ks = [10,20,30,40,50,60,70,80,90,100]\n",
    "CH_scores = []\n",
    "CH_score_val = []\n",
    "for K in Ks:\n",
    "    ch,v = K_cluster_analysis(K, X_train_part, X_val)\n",
    "    CH_scores.append(ch)\n",
    "    CH_score_val.append(v)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x109322790>]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10927b850>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制训练集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_scores), 'b-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1102e4cd0>]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109f39b90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制校验集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_score_val), 'g-')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "K=70时，训练集分数最高，且曲线几乎一致，但是发现曲线K=10时CH分数最高，打印出校验集的散点图再分析一下。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 一个参数点（聚类数据为K）的模型，在校验集上评价聚类算法性能\n",
    "def K_cluster_analysis(K, X_train, X_val):\n",
    "    start = time.time()\n",
    "    \n",
    "    print(\"K-means begin with clusters: {}\".format(K));\n",
    "    \n",
    "    #K-means,在训练集上训练\n",
    "    mb_kmeans = MiniBatchKMeans(n_clusters = K)\n",
    "    mb_kmeans.fit(X_train)\n",
    "    \n",
    "    # 在训练集和测试集上预测\n",
    "    y_train_pred = mb_kmeans.fit_predict(X_train)\n",
    "    y_val_pred = mb_kmeans.predict(X_val)\n",
    "    \n",
    "    #以前两维特征打印训练数据的分类结果\n",
    "    plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train_pred)\n",
    "    plt.show()\n",
    "    \n",
    "    #以前两维特征打印校验数据的分类结果\n",
    "    plt.scatter(X_val[:, 0], X_val[:, 1], c=y_val_pred)\n",
    "    plt.show()\n",
    "    \n",
    "    # K值的评估标准\n",
    "    #利用CH索引方法Calinski-Harabasz Index进行评估\n",
    "    #分数值越大则聚类效果越好\n",
    "    \n",
    "    #训练集评估\n",
    "    CH_score = metrics.calinski_harabaz_score(X_train,mb_kmeans.predict(X_train))\n",
    "    \n",
    "    \n",
    "    #校验集评估\n",
    "    CH_score_val = metrics.calinski_harabaz_score(X_val,mb_kmeans.predict(X_val))\n",
    "    \n",
    "    end = time.time()\n",
    "    print(\"CH_score: {}, time elaps:{}\".format(CH_score, int(end-start)))\n",
    "    print(\"CH_score_val: {}\".format(CH_score_val))\n",
    "    \n",
    "    return CH_score,CH_score_val\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "K-means begin with clusters: 10\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107d62750>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x108509610>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 409.879526947, time elaps:1\n",
      "CH_score_val: 6352.24905811\n",
      "K-means begin with clusters: 20\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109f397d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10851d150>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 330.644310667, time elaps:1\n",
      "CH_score_val: 7612.01759474\n",
      "K-means begin with clusters: 30\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1085794d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD8CAYAAABkbJM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xt83HWd7/HXZy65N2mbpm16LzRcysVCQ7koK4hAYdWii0tFBVc8HF05nLN7dhUXPXhw9Qi7Hlcf+PAsXguuWy4qFEELFFBZBJqyXEqhbWgpDb2lTUlznevn/DG/tmk6aX7tTJqkvp+Pxzxmft/5/r7z/c4kec/v+7vE3B0REZHBRIa7AyIiMjooMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqHEhrsDxTRhwgSfNWvWcHdDRGRUWbVq1U53rxus3jEVGLNmzaKpqWm4uyEiMqqY2aYw9TQlJSIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREIpSmCY2UIzW2tmzWZ2U57nS83snuD558xsVlBea2ZPmlmnmd3Rb52ngjZfDG4Ti9FXERE5MrFCGzCzKPA94GKgBVhpZsvcfU2fatcBu919jpktBm4DrgJ6ga8Apwa3/j7u7k2F9lFERApXjC2MBUCzu29w9ySwFFjUr84iYEnw+H7gIjMzd+9y96fJBYeIiIxgxQiMqcDmPsstQVneOu6eBtqB2hBt/ySYjvqKmVkR+ioiIkeoGIGR7w+5H0Gd/j7u7qcB5we3T+Z9cbPrzazJzJpaW1sH7ayIiByZYgRGCzC9z/I0YMtAdcwsBtQAbYdq1N3fDu47gJ+Tm/rKV+9Od29098a6urojGoCIiAyuGIGxEmgws9lmVgIsBpb1q7MMuDZ4fCXwhLsPuIVhZjEzmxA8jgMfAFYXoa8iInKECj5Kyt3TZnYDsByIAj9291fN7Fagyd2XAT8C7jazZnJbFov3rm9mbwLVQImZXQFcAmwClgdhEQUeB35QaF9FROTI2SG+6I86jY2N3tSko3BFRA6Hma1y98bB6ulMbxERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREIpSmCY2UIzW2tmzWZ2U57nS83snuD558xsVlBea2ZPmlmnmd3Rb535ZvZKsM53zcyK0VcRETkyBQeGmUWB7wGXAXOBj5nZ3H7VrgN2u/sc4NvAbUF5L/AV4O/yNP194HqgIbgtLLSvIiJy5IqxhbEAaHb3De6eBJYCi/rVWQQsCR7fD1xkZubuXe7+NLng2MfM6oFqd/+juztwF3BFEfoqIiJHqBiBMRXY3Ge5JSjLW8fd00A7UDtImy2DtAmAmV1vZk1m1tTa2nqYXRcRkbCKERj59i34EdQ5ovrufqe7N7p7Y11d3SGaFBGRQhQjMFqA6X2WpwFbBqpjZjGgBmgbpM1pg7QpIiJHUTECYyXQYGazzawEWAws61dnGXBt8PhK4Ilg30Re7r4V6DCzc4Kjo64BHixCX0VE5AjFCm3A3dNmdgOwHIgCP3b3V83sVqDJ3ZcBPwLuNrNmclsWi/eub2ZvAtVAiZldAVzi7muAzwE/BcqB3wQ3EREZJnaIL/qjTmNjozc1NQ13N0RERhUzW+XujYPV05neIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJJSiBIaZLTSztWbWbGY35Xm+1MzuCZ5/zsxm9XnuS0H5WjO7tE/5m2b2ipm9aGZNxeiniIgcuVihDZhZFPgecDHQAqw0s2XuvqZPteuA3e4+x8wWA7cBV5nZXGAxcAowBXjczE5w90yw3oXuvrPQPoqISOGKsYWxAGh29w3ungSWAov61VkELAke3w9cZGYWlC9194S7bwSag/ZERGSEKUZgTAU291luCcry1nH3NNAO1A6yrgOPmtkqM7t+oBc3s+vNrMnMmlpbWwsaiIiIDKwYgWF5yjxknUOt+253PxO4DPi8mf1Zvhd39zvdvdHdG+vq6sL2WUREDlMxAqMFmN5neRqwZaA6ZhYDaoC2Q63r7nvvdwC/QlNVMopkslmy3v97k8joVozAWAk0mNlsMyshtxN7Wb86y4Brg8dXAk+4uwfli4OjqGYDDcDzZlZpZmMAzKwSuARYXYS+igypTXt287HfLGXOkm/RsORbfP7JZezu7RnubokURcFHSbl72sxuAJYDUeDH7v6qmd0KNLn7MuBHwN1m1kxuy2JxsO6rZnYvsAZIA59394yZTQJ+ldsvTgz4ubv/ttC+igyljmSCRQ/9jPZEL1mcrDvLN61j7e5WHv3wp4lYvhlYkdGj4MAAcPdHgEf6lf2vPo97gY8OsO7Xga/3K9sAvKsYfRM5Wn71xqv0ZtJk++zCS2WzbOncwzNb3+I9U2YOY+9ECqczvUWKZO3unfSkUweVZ9zZ2N42DD0SKS4FhkiRnFo7iYpY/KDyiBknjpswDD0SKS4FhkiRLDruZKriJUT77KsoiUSZU1PLWZOmDWPPRIpDgSFSJBXxEh760DVcOrOBsmiMqngJf3nCafz75Vdh2uEtx4Ci7PQWkZzJlWP4/vuuOGQdd+e1tlbak72cPmEylfGSo9Q7kcIoMESOos0d7Xzq0fvY0tVB1Iy0Z/nygvfxiZPmDXfXRAalwJBRZWvPFrb2bmVyWT1TyqeEWqdlQyubmrczbfYEZjZMHrBeJpNl9TPr6O7o4dRzGhgzvopEpodHtt7Ni+/8noxnOGHMPD405dOMLRn8MjTuzgutW9jZ0828unomllfyyeX3sqnjnQPOAv/H55/gpHF1NE7qfwk2kZFFgSGjQjKb5HvN32VdxzqiFiHjWRrGNPD542+kNFqaf51Ein+84W5eevYNoiVRdp8EmXdXMG/ecXxszlmcO3H2vrrNL23iK1d+m97uBLFxWcZc1sXxfz4er+umJ9NJhjQAr+1p4q3udfz9iXdQGi3ft35H6h2e3bWcTd1rmVw2g+PK38tfr3icHd2dmBnJTIY/n30i27o6DrpkSG86zU/XrFJgyIinwJBR4Rct97GuYy0pT5EK/t6u71jHL1ru5eqZn8y7zpJvL+elZ98gkUyz9ZNREtOjeGmS5Vtf5/etb/BXDedwebaB73zlFzQ/+TJks5ROzzLzX7uIlEBH6RY8Bdbn0BDHSWR6eWH37zh3wkIAdiW2cUfzF0llk6Q9xcbONXxlzZu801N5QDg88uZaLM/1Nh3Y2dNVtPdKZKgoMGRU+I+dfyDlB54Ul/IUT+96esDAWH7fSpKJNN2n7A2L4I+1QU8mxQ/WPsOj31pBpqULgj/sU/5bL9EKsGhQNc9xhClPsKVnw77lh7f+lN5MNx6c4d2eiNDeU3rQlkQik8l7eeayaIyLZzQcVJ7MJnh+12O83P4MpZFyzq1dyMnVjTriSoaNAkNGhWQ2mbc8lU2SyabY1fMH1na8Qlu6gumVZ9JQ1YA1tlMZz9BeX7k/LPpI96Z5Z6ozpmV/2ZgzM/vCYiBxK2FS2f7LfDR3ribrzs6eStqT5XgGzDj4Iv/AhPIKOlNJetK5Ka6yaIwpVdUsPvF02hO9/HbTOnrSac6fMp1f77iNnYktpDw39k3dr3Nu7WVcVv+JQ3dQZIgoMGTESmeTvND2IGv2PM6YGLSnD64zp3I2v998GY9sr2VH5xjiFSmisafJYNRcY2TNqY50sKWzmo17+p1t7RDtdYjHIRqFdJpsL0TKBu6TYcQjJcwff8H+Mi/jqZZpdCZLybphOBk/OKBKI1GuPnEe59RP5yevrqKtt4dLZzbw8ZPm8fy2Fj735AMYRsazZD3LSZOcU6fuD8pkNsF/7HyY8yZcRk289nDfTpGCKTBkRMp6hns2/T2tiQ2kPcn4eIyOdC1gZDFiFiNmcab3tPCNX57Lzh1jMXMskuVdV71GJOpQ6vvOTK2v7qAtUUl7Yv+OastCxboMZoaPrYadbex8oIS6xUmifUJj33+YBxLNVVwx5wbKo5X7yrZ2nM6eZBtZ3z9/FStPke4pIUKEjDvlsRgTy6v4zKlnUV1Synn1+7dQulNJ/vrJB/dtdey1ZvsEJlXvom5M576yqMV4s+t13jX23YW9wSJHQIEhI9LGzpXsTG4iHUzHlEbSHFfeSle6lOqIcXxpOR1vXMPtv16DxRzPRHCgZmoXnjGIHjgfFDFnUkUHHe2lOIalof4nvVgQBhaL4ePHse3ebkpO3EPNWSmybkTM6X4lTvM/1eGxSiLdGb5Z8QA/erSB8ROrAXhxVy+xrRFqnolQsgNSY6H9vCzJaWk+XN/Itq4OLpg2mysbTst7kt7v3n4z76XPM9kIG3dNOCAwACqjY4rwDoscPgWGjEgt3a+Qyu7/x0O9PXHszRqiXXHmTNvMCTNf5VHbxezpp7G1tZbeTLBJEMn/X+7MYFaqk55fVtCbidNTHaPt5DKqylNUbUxC1og1QOVfOt3ZGO23G5neCMmNRu+OSrZdNZmaVxPEO51sMsstX7yHuadOI7vjHdJTkkz8VQRL56asot1Q8kCEd96bpm31RmYkKplzYQllJ+TfOZLJZgd8H7IHTG0ZpZFyjqs65bDfT5FiUGDIiFQVm0DUSsh4ku3bxvL4b8/CKtLESjM8vO5ESixDYk8pmUwEdyNiWSqruplZt50x8R66OfDcjHJL8ecz3+LCL2zhf774PhyjtDxF5N1pOt6uoH7WTk46YTsRd8wg+y7oXBVl483lmPdSf+9mqBlDJANusO65Dbz++lbAqK7JEkkf+KsUSRsT/gAbt2/grZTR9PAa5jRM4fZ/+yylZQde0fb8qbNI5wmNsmiUORM6KY2U42QZExvHp2Z9ichge+VFhogCQ0ak5udqSUxJM7G8kweefjeT37OFkuok7rlDXd9ZX8OMnm2cNGUrz68+gbNOXceC014ni9FrcbanatieqmZ3upKqaILaeBfrsmV0V0T5xPxn6c2U024lZFKGHwe9zUamFWKTcq8frYCq+Rlq/ixN+1Nx6OyByiowwxxIZ7HeNF5ZSqwz/2Gu2XSUaVftYtvPJpDtzbJh3VYe+rdnuPK69x5Qr6a0jG+cdwn/8MyjZDxLOpulLBbn8lkncNs5N7KldwPxSBn1ZTN1SK0MKwWGjDj/+cpb/HBJE5/4VDcTp+xhzNzdxN9K4imIzIWa6h5OmdtC50MlRNs6+fyVy4iVZdmZqOTt9PjcYbEG1bEElZEE0YiDGUkixKJZasp7KM2mIFNBpCR3RFNnQylv31VB4wW72HNSCWkiRCtg3MWpXGAA9CagPDf1ZYAlUnhlaS5A8vwdj8SzTFi4h9YHxpHpjJJOZHjiwf88KDAA/qLhVM6aNI0H3lhDdzrFRTOOp3HiVMyMmZUnDdl7LXI4FBgy4tz/8AtMn7WR3RONFb86F7srTTobwSNZPnTjy5y9aBOZZITYf8ngZuzMVrBk03m09I7lshmvEbNgesdyR8se9NfccjvR49kMWSLEzKkp7yX70TJeu7GK7/32RZZ2zGBtbzWe7LPung68rLTPt/zg3h2LZ/H0/qkiK8kw8cJWyEDplBTd63LPxeMD/8rNqB7LjWecV9ibJzKE9P8wZMRZt2MtXQsT/OHfG1m/so5tC8az7c8mMesLCRo/2EI8lqWsIk0s5kRw0m2lvLxjGlMq24nYwDuQ+8ptFOzfQW4GY2qS7NxaSndblKtrNlGeSrPr4X7/QS849NUBL4/nzhBPpBh74g4ipRkiJRksnmXi+TuZ8oGtWBySO3MhES+LcfniBcV4i0SGhbYwZMQZe+5aXn1iJruqKyk9HipaHZKw8Iz/pKzkwMuDRKPO5HHvMO2PGdJXRPcdCtuXe3DmdT+Zft+XopbFHUpKs+Awe30nzzaN3d8OjkUst2FRGsdLYpB1op0JUm9Eedf/WUOqK0J8TIpIiZNNwp4XK0juiREvjXDu++by/o80Fu19EjnaFBgy4ry2ajI7K6oYuz5LvAsiWQCntqqdNV2T2ZasZlJJBydXbCNiTjZjjH27gzc21TG/bjN5r8mxbz+D4250ZUrpP1WV3GKc2riHquoM6QykVtn+Oga1U8Zx9ZevxGMRvn/7I3hHL5ZMY0DvW2Vs/r+TOf3LCTqybZhFqCs/hdqykzn/78dx3rknM/uk+qF700SOgqIEhpktBL4DRIEfuvs3+z1fCtwFzAd2AVe5+5vBc18CrgMywI3uvjxMm3LsarVqSjog1gW9443EuAhWkuV/b/ogkbIsaY8QsyxjY938zYwVxEsyvLO6lNQpZfxuyhzeO6U5d4kOc2KWJZuFsbFuMkSIW4bebJRd2aoD8iKbgOT9xpf/eR0AnjVeea6a8soMWBmV1VXc/usvMuX4STx4138QT6bx5IFnZnetruTElR/h8mvmE7MSYpE4HAOnTLg7jz7zOvf99gU6uhO8t3EOH//gWdRUlQ++shxTCg4MM4sC3wMuBlqAlWa2zN3X9Kl2HbDb3eeY2WLgNuAqM5sLLCb3azUFeNzMTgjWGaxNOUZFSiC+K0vHrAiZMoOIMebkdpLxKOa5nccZj7IzVcV928/k/Nr1lE1MULInyYaOOt5eX8O0qnc4Y8JmxpX2Eos4M0t2YblJJdYnJlEZTdCdLcGJEOnJcm7nTj7wjW2YQcqNWMy56Y5eXlvzQcZNWcDp559ENJqbwkomUmQyB+8ryWayJHvTlPW5bMix4Ls/e4oHnniZ3kQuIJf+5gUe++NafnbbtVSW69/L/ikpxk7vBUCzu29w9ySwFFjUr84iYEnw+H7gIssdarIIWOruCXffCDQH7YVpU45RlnI8amRKc2EBUFbXc9ClxjNEealrOu3ZMmpmdpNMpCklzfE1O5k/4S3GlfbiDnteHsOWLbVsT9bweqKeBCWUR1PUxruojXUwtqqLnnpjbbKC1xNVJMZ8A5v0GvXzHuZ9V3+KMy6Yuy8sABZceDKx2MEnz8XiUc5+38lD+t4cbTt3d/LLx1/aFxYAqXSG3Xu6eejJV4axZzIcihEYU4HNfZZbgrK8ddw9DbQDtYdYN0ybcozKRGO5LYtonzmjAc5Xy7rhbux6uYLuyTHiSWd62W7GxBJk0kbT0rk8sfQclv3iPexI15Dut1GdTkZ49Z45/O53DdzXcRJVE5ZSXfUXRCIDn009c84kPviJ8ygtj2NmmBml5XEu/9jZzD7x2NpP8dqGbcTzhGMimea5V948+h2SYVWMfRj5fpX773UcqM5A5fmCLO9FgszseuB6gBkzZgzcSxk1oukMbhHI+r4tjMSuMkprew/YyjCyzCrfScsL45kx7g0+85GtPLliHjOnvcP21eN58bGT6NpVQSSSIb2zhGxXlGy5E4vnppMyKSPVXsKulZP58D83cNEJlzImPi5UH6/7wuWc+/65PPnQi7g7F37wDE6ZP6vYb8Wwqx1bRTZ78K9eJGLUT6gehh7JcCpGYLQA0/ssTwO2DFCnxcxiQA3QNsi6g7UJgLvfCdwJ0NjYmP/KczKqjOt5h53VdUT7HEHbuW4s8fk7sJgTiTlx0sQjGaqf341t6uK//3Azv//jHPa0VHHaJRtZsfJ0MukINVU9nHriFlbHx7Lsl+cz76wtzDxuC+lMil0vTqR624X86w8uY+q08Yfdz7lnzmLumbOKN/AR6OTjJjFpwhje2rr7gOCIx6JceekZw9gzGQ7mXtjf2CAA1gEXAW8DK4Gr3f3VPnU+D5zm7p8Ndnp/xN3/0sxOAX5Obp/FFGAF0EBuy+OQbebT2NjoTU1NBY1HRoaz/uZmukrHY2743n+X6k5VRTfl9FBdkWDihA7+9vwnyZjx80fnE5mYJjI9wbpEPWdVtvK5ujUQieA1/0JVxSXDO6BRrHV3J//w7WWs27SDaCRCSUmMm6+/hPPnzxnurkmRmNkqdx/0JKGCAyN4scuBfyF3COyP3f3rZnYr0OTuy8ysDLgbOIPclsVid98QrHsz8GkgDfwPd//NQG0O1g8FxrHl+I99nEkTp5PKxIglc/s0ZlbsoLR7D9lqqJ+fhbZyeP046s4qoWrGbKIVKc6e8i4axu3GiFNasoBIRBc0KIYduzro6kkyY8o4onpPjylHNTBGCgWGiMjhCxsY+pogIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQikoMMxsvJk9Zmbrg/txA9S7Nqiz3syu7VM+38xeMbNmM/uumVlQ/lUze9vMXgxulxfSTxERKVyhWxg3ASvcvQFYESwfwMzGA7cAZwMLgFv6BMv3geuBhuC2sM+q33b3ecHtkQL7KSIiBSo0MBYBS4LHS4Ar8tS5FHjM3dvcfTfwGLDQzOqBanf/o7s7cNcA64uIyAhQaGBMcvetAMH9xDx1pgKb+yy3BGVTg8f9y/e6wcxeNrMfDzTVJSIiR8+ggWFmj5vZ6jy3RSFfw/KU+SHKITdVdTwwD9gKfOsQ/bvezJrMrKm1tTVkl0RE5HDFBqvg7u8f6Dkz225m9e6+NZhi2pGnWgtwQZ/lacBTQfm0fuVbgtfc3uc1fgD8+hD9uxO4E6CxsdEHqiciIoUpdEpqGbD3qKdrgQfz1FkOXGJm44KppUuA5cEUVoeZnRMcHXXN3vWD8Nnrw8DqAvspIiIFGnQLYxDfBO41s+uAt4CPAphZI/BZd/+Mu7eZ2deAlcE6t7p7W/D4c8BPgXLgN8EN4HYzm0duiupN4L8W2E8RESmQ5Q5QOjY0NjZ6U1PTcHdDRGRUMbNV7t44WD2d6S0iIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoBQWGmY03s8fMbH1wP26AetcGddab2bV9yr9uZpvNrLNf/VIzu8fMms3sOTObVUg/RUSkcIVuYdwErHD3BmBFsHwAMxsP3AKcDSwAbukTLA8FZf1dB+x29znAt4HbCuyniIgUqNDAWAQsCR4vAa7IU+dS4DF3b3P33cBjwEIAd3/W3bcO0u79wEVmZgX2VUREClBoYEza+wc/uJ+Yp85UYHOf5Zag7FD2rePuaaAdqM1X0cyuN7MmM2tqbW09zO6LiEhYscEqmNnjwOQ8T90c8jXybRl4sdZx9zuBOwEaGxsHa1dERI7QoIHh7u8f6Dkz225m9e6+1czqgR15qrUAF/RZngY8NcjLtgDTgRYziwE1QNtgfRURkaFT6JTUMmDvUU/XAg/mqbMcuMTMxgU7uy8JysK2eyXwhLtr60FEZBgVGhjfBC42s/XAxcEyZtZoZj8EcPc24GvAyuB2a1CGmd1uZi1AhZm1mNlXg3Z/BNSaWTPwt+Q5+kpERI4uO5a+uDc2NnpTU9Nwd0NEZFQxs1Xu3jhYPZ3pLSIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREIpKDDMbLyZPWZm64P7cQPUuzaos97Mru1T/nUz22xmnf3qf8rMWs3sxeD2mUL6KSIihSt0C+MmYIW7NwArguUDmNl44BbgbGABcEufYHkoKMvnHnefF9x+WGA/RUSkQIUGxiJgSfB4CXBFnjqXAo+5e5u77wYeAxYCuPuz7r61wD6IiMhRUGhgTNr7Bz+4n5inzlRgc5/llqBsMH9hZi+b2f1mNn2gSmZ2vZk1mVlTa2vr4fRdREQOw6CBYWaPm9nqPLdFIV/D8pT5IOs8BMxy99OBx9m/FXNwQ+53unujuzfW1dWF7JKIiByu2GAV3P39Az1nZtvNrN7dt5pZPbAjT7UW4II+y9OApwZ5zV19Fn8A3DZYP0VEZGiZ+2Bf9g+xstk/Abvc/ZtmdhMw3t2/0K/OeGAVcGZQ9AIw393b+tTpdPeqPsv1e6e6zOzDwBfd/ZwQ/WkFNgWLE4CdRzy40eNPYZwa47FBYxy5Zrr7oFM0g25hDOKbwL1mdh3wFvBRADNrBD7r7p9x9zYz+xqwMljn1r1hYWa3A1cDFWbWAvzQ3b8K3GhmHwLSQBvwqTCd6TtgM2ty98YCxzfi/SmMU2M8NmiMo19BWxgj2bH+we31pzBOjfHYoDGOfjrTW0REQjmWA+PO4e7AUfKnME6N8digMY5yx+yUlIiIFNexvIUhIiJFNOoCYwgveFhqZveYWbOZPWdms4Z2JAMrwhjnm9krwVi+a2YWlH/VzN7uc1HHy4/WmPr0baGZrQ36lu/aYwN+Dmb2paB8rZldGrbNo22Ixvhm8Jm+aGZNR2ckh3ak4zSzWjN70sw6zeyOfuvk/dkdLkM0xqeCNvf+Hua7QsbI5O6j6gbcDtwUPL4JuC1PnfHAhuB+XPB4XPDcOUA90Nlvnb8G/l/weDG5ix+O1jE+D5xL7iz73wCXBeVfBf5uGMcVBd4AjgNF1XSMAAADNElEQVRKgJeAuWE+B2BuUL8UmB20Ew3T5mgfY/Dcm8CE4RpXkcdZCbwH+CxwR7918v7sHmNjfApoHO7P8Ehuo24Lg6G74GHfdu8HLhrGbzdHPEbLnXFf7e5/9NxP510DrD8cFgDN7r7B3ZPAUnJj7Wugz2ERsNTdE+6+EWgO2gvT5tE0FGMciY54nO7e5e5PA719K4/An92ij3G0G42BMVQXPNy3jrungXagtuDeHplCxjg1eNy/fK8bLHdRxx8PNNU1hMJ8LgN9Doca75Fc3HKoDMUYIXf9tUfNbJWZXT8E/T5chYzzUG0e6mf3aBuKMe71k2A66ivDPe12OAo903tImNnjwOQ8T90ctok8ZYMdDnYk6xyxIRzjocbxfeBrwfLXgG8Bnw75esUQ5j0+3HHl+9IznIf+DcUYAd7t7luC+e7HzOx1d/99Af0sVCHjLKTNo2koxgjwcXd/28zGAL8APklua2rEG5GB4cNwwcNgnelAi5nFgBpylyUZEkM4xpbgcd/yLcFrbu/zGj8Afn2k/T9Ce9/jvfb1LU+d/p/DodYdrM2jaUjG6O5773eY2a/ITZcMZ2AUMs5DtZn3Z3eYDMUYcfe3g/sOM/s5uc9yVATGaJySWgbsPSLoWuDBPHWWA5eY2bhg2uWSoCxsu1cCTwTzqMPhiMcYTGF1mNk5wabuNXvXD8Jnrw8Dq4dqAANYCTSY2WwzKyG3k3BZvzoDfQ7LgMXBUSmzgQZyO0jDtHk0FX2MZlYZfBvFzCrJfdZH+7Prr5Bx5nWon91hUvQxmlnMzCYEj+PABxj+zzK84d7rfrg3cvODK4D1wf34oLyR3MUL99b7NLmdhs3AX/Upv53ct4JscP/VoLwMuC+o/zxw3CgeYyO5H8I3gDvYf4Lm3cArwMvkftDrh2FslwPrgr7dHJTdCnxosM+B3HTdG8Ba+hw9k6/NYf4ZLeoYyR2l81Jwe3UkjLEI43yT3DfxzuD3cO6hfnaPlTGSO3pqVfA7+CrwHYIj4UbDTWd6i4hIKKNxSkpERIaBAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQ/j9KsXbvULODdAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x108531dd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 256.216517711, time elaps:1\n",
      "CH_score_val: 6180.56027893\n",
      "K-means begin with clusters: 40\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107c41cd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD8CAYAAABkbJM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xt81PWd7/HXZy65QiAJAYEoQUG7INVqxEvtbVXE1odUW09pu1u6tXXb08uue/axa9fTow+7ttq99LSrx31ga6tue+iuu1a09VC8tbX1QlBUsJWLcgnXQCAQksz1c/6YX2AIE/IjMyEJfT8fj3nM/L7z/X7n+81M8p7fNebuiIiIDCQy3AMQEZHRQYEhIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJJTbcAyilCRMmeFNT03APQ0RkVFm5cuVud28YqN5JFRhNTU20tLQM9zBEREYVM9sUpp42SYmISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQShIYZjbfzN40s/VmdnOB58vN7CfB8y+aWVNQXm9mz5hZp5nd3afNs0Gfq4LbxFKMVUREBidWbAdmFgXuAa4AWoEVZrbU3d/Iq3YDsNfdZ5jZQuAu4GNAD/A14Ozg1tcn3b2l2DGKiEjxSrGGMRdY7+5vuXsSWAIs6FNnAfBA8Phh4DIzM3c/6O7PkQsOEREZwUoRGFOBLXnLrUFZwTrungY6gPoQff8g2Bz1NTOzEoxVREQGqRSBUegPuQ+iTl+fdPc5wHuC258WfHGzG82sxcxa2traBhysiIgMTikCoxU4NW+5EdjWXx0ziwHjgPZjderuW4P7A8CPyW36KlRvsbs3u3tzQ0PDoCYgIiIDK0VgrABmmtl0MysDFgJL+9RZCiwKHn8UeNrd+13DMLOYmU0IHseBq4HVJRiriIgMUtFHSbl72sy+BCwDosD97r7GzG4HWtx9KfB94CEzW09uzWJhb3sz2wjUAGVm9mFgHrAJWBaERRR4Eriv2LGKiMjg2TG+6I86zc3N3tKio3BFRI6Hma109+aB6ulMbxERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREIpSWCY2Xwze9PM1pvZzQWeLzeznwTPv2hmTUF5vZk9Y2adZnZ3nzbnm9nrQZvvmpmVYqwiIjI4RQeGmUWBe4CrgFnAx81sVp9qNwB73X0G8G3grqC8B/ga8NcFur4XuBGYGdzmFztWEREZvFKsYcwF1rv7W+6eBJYAC/rUWQA8EDx+GLjMzMzdD7r7c+SC4xAzmwzUuPvz7u7Ag8CHSzBWEREZpFIExlRgS95ya1BWsI67p4EOoH6APlsH6BMAM7vRzFrMrKWtre04hy4iImGVIjAK7VvwQdQZVH13X+zuze7e3NDQcIwuRUSkGKUIjFbg1LzlRmBbf3XMLAaMA9oH6LNxgD5FROQEKkVgrABmmtl0MysDFgJL+9RZCiwKHn8UeDrYN1GQu28HDpjZRcHRUZ8CHi3BWEVEZJBixXbg7mkz+xKwDIgC97v7GjO7HWhx96XA94GHzGw9uTWLhb3tzWwjUAOUmdmHgXnu/gbwBeCHQCXwRHATEZFhYsf4oj/qNDc3e0tLy3APQ0RkVDGzle7ePFA9nektIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQlFgiIhIKAoMEREJRYEhIiKhKDBERCQUBYaIiISiwBARkVAUGCIiEooCQ0REQilJYJjZfDN708zWm9nNBZ4vN7OfBM+/aGZNec99NSh/08yuzCvfaGavm9kqM2spxThFRGTwYsV2YGZR4B7gCqAVWGFmS939jbxqNwB73X2GmS0E7gI+ZmazgIXAbGAK8KSZnenumaDdB9x9d7FjFBGR4pViDWMusN7d33L3JLAEWNCnzgLggeDxw8BlZmZB+RJ3T7j728D6oD8RERlhShEYU4EtecutQVnBOu6eBjqA+gHaOvALM1tpZjf29+JmdqOZtZhZS1tbW1ETERGR/pUiMKxAmYesc6y273b384CrgC+a2XsLvbi7L3b3ZndvbmhoCDtmERE5TqUIjFbg1LzlRmBbf3XMLAaMA9qP1dbde+93AY+gTVUyimQyWbLZ7HAPQ6SkShEYK4CZZjbdzMrI7cRe2qfOUmBR8PijwNPu7kH5wuAoqunATOAlM6s2s7EAZlYNzANWl2CsIkNq2+Y93PypxVwz+++45uxb+OZf/oj9ew8O97BESqLoo6TcPW1mXwKWAVHgfndfY2a3Ay3uvhT4PvCQma0nt2axMGi7xsz+HXgDSANfdPeMmU0CHsntFycG/Njd/1+xYxUZSgc7e7jp+rs50NGNZx2yzm9+sZqNa3dw7+M3EYnotCcZ3YoODAB3/znw8z5l/yvvcQ9wfT9t7wDu6FP2FnBOKcYmcqI88+grJHvSubAIZNJZ2rbv49UX3uJdl8wYxtGJFE9feURKZOPa7fR0J48qz2SybN2oI/hk9FNgiJTIjNmNVFSVHVUeiURomnnKMIxIpLQUGCIl8v6rz6VqTDmR6OGjxeNlMU49vYHZzU3DNzCRElFgiJRIRVUZ33n4y1xyxdmUV8Spqi5n3kfO584H/5zgAA6RUa0kO71FJGfCKeO45bt/csw67s7bv99O5/5uZp7dSGV1+QkanUhxFBgiJ9DO1na+9rn7advWQSQaIZPJ8Lmbr+ZDH79ouIcmMiAFhowqG7e1s3HrHqZNqWP61PpQbbZs3sOmjW00nlpP0/T+Lx+TyWZ5aVcrnckEF0xqZHx5JV1dCRbf+zRPLV9NOpXhggvP4It/MY9Jk8YN+Lruzu9XbWbv7k7ecc6p1DaM5ZbPfJ/tm/eQzTv09r5vPs70s05h1nlNoeYjMlwUGDIq9CRT3Pztx3jlzVZi0QjpTJZzzpzCt25aQEV5vGCbZCLNbV97mFWvbCIaN9qnOpk55bzr7Gn86R+dxyWTpx2qu6ZtB59++mG6MykiXU75a0nO7BlHaleC/fu7Sadzl/l44bfreGPNVh78v1+gqurwpqTdBw/yo5df5ZWt2zmzYQJXN57Od7+8hD279hOJGKlkhkvnz2H3zo4jwiI3zhRLH/qtAkNGPAWGjAr/Z8lzvPz7LSRTGRJB2ao3t3LPkl/zPxb9ccE2P/jes6x6eROJVJptH4jQM9HweIInNq/l2e1v87lZF/ChsTP5h3uW8cxZO8hUQHy/07g0g6VhZ7b9qCtkZrNOT3eSJ5e9zjXXNgOwae8+rnvgx/Sk0iQzGV7a3MpTX1tOefuRJ/E9t+z1gju/3WHv7gMl+kmJDB0FhowKj/9qNclU5oiyZCrDY79a029g/Pxnq0gm0xycZkFYBH+sDbrTKe59/UWWLl9BVzxNNpYrn/BClkjycEgUOrappyfFurU7Di1/86lf0plIkvVcOHhHktjeFN7n2oOpRJpCB0uVVcS56LJZBV/nZ4+9wi+ffoOqqnKuufZ8Ln73TB1xJcNGgSGjQiKZLlieTKZJpTM89+bbvLRmMySdC886jXPPmsp+y5IZE6XrFA6HRZ50MsOBmizRzsNlldu9YEjkKy+PMf2MiYeWn9+0hYxn8TLHY07sQAaPGGT6XuUfxtePoetggkR3CoCyihgTJ49n/vVzOdDRxW+XryHRneKci8/gG998jNbNe0gkcnNf/foWFlx3Pp/7/GUDjFBkaCgwZMRKZZP8dvfPeXnfr6g/rYFdG488/NSAWTNO4ao772f/xk6yWSeSgkeWvQoOVhvDs07ldsjGs3SedfTlxi0N5Xshth9S9eAxIHNUtcP1zSgvjzPvynceKqsoi9FRczD322TQXU3uMpypI9vGy2JctfBC3jn3DB598Dd0tHdyyRVn88GFF7K65W3u+Mq/YRjZbJZMxslWl5GsPLx/pqcnxSMPr+Daj1zAhIaa4/55ihRLgSEjUtYzLN5wKzt6NpHyJNMua2PPQ3PwTJRsxojHopTFo3RUJ9m2+wCZxt6GMP6tXJg4QMQwoKo1QrLBSdblfet3qNwJhlG/AnZe7nScZYxf40QyR1QDcn3G41H+4q/mM2ZsxaHnJzdWs7Oj4/D2q5ix7UNVND7aRTSb2+9RXhGnbmIN1/3Ze6geW8k5F51xqH1PV5Jv/MWPDq11HHrdjm4sanjZ4V/TWCzK66+18oECm7BEhpoCQ0akNw+8ws7EFlKeu5hfdX03cz/7Cpufn8rONZOoqarm8qv/iHtfWolVAJHcX+tYl+elxWGWhcpWIzU294RloOE3hmVz7coOGhN/DQeaIvRMzFKx0/FIrl2mEhJjsoxpdZLu/ONdj3P2O0+lfsJYAN7uacdSRuRAFEsbHnUOTjc23RDnCx1nsWdHB+e/9yyuuPb8gifprfz12n73S1h36ojAcGDc+MoifrIig6fAkBHp7c43SGZ7Di0nd8Paf66l541u4mVb2f2OJD98rIXKiJGNG+kqyJYdzoq+f34NI743Qt1LTiyRpXp9gkg6S6YqTnpMHCxCfC+MO+Akx8P+Gbl+U+OMeAdMfbiTzJhyHNhbneXLP36U2XMaSZan6DqYItoey20GIxdC1m4kq2BVZQ+Tzqxl3OkTiFcUPvw3kym8DSw3h8PJZwbVVeWcc+60gvVFhpoCQ0akmngdMYuT9hQHXo2w7iuVTGraSe30BJvW1WAt3SQnzIB4lEjaiHVDaoyTrU3ju6KQPjIy3ACM+J4M41fvA4dsHfiYHsr2Rdl3TjXjVoM50AY1b0PXFNhxmZGugR3XjKf2NcutyWThrRe2s6JzJx41PGZE/MjXM4xYe5S1L7eyHuP55zdwZtNE/uUbCynvc97Iu949k0z66NCIl8WIjqsiUlVGNuvU1Y/hjrs+RjSqS8DJ8FBgyIg0LrKbTDZBMhtjxz9G+dt/e4EpZ3aSSRmxMufJH0xjyTM1dJ0zBQcyZYBDZF+U6jkdTD2tjUgCdq2ZyK72caTG5p63cWX0TKinbPYBOD2T+wIfdeI7DuIbK4jsjwK5neFV25zqTc7B6RE6z4Dxq3Pf+iNZiHVB1Q6na0rkqJ3bvTJlRrQng1fEyKaybNjYxn/97BU+ft2R/55+7Lgqvnz7dfzL//ovMhknk8lQURHn0vnv5Eu3X8v6tTupqIxz+hkTdUitDCsFhow4u7pbWLvvPqJMoGNTFX/2P1+ho6KW3RsnMqtpC/sjMeLXxxn73m5Sv99Hal0N0WRu38Hs926gcepuorFsLgzGZtn2mxpyOyTAI0a6xvDtY6n/RQLrNLK1TuIDSQ5+vofy/6iibKNhDpE0jN3gHJwOHoWuKU71ttwf7EgWKtucrin9z8OyEO3Jki5ziBipVIZfPPvGUYEBcPm15zP7/CaeeWwVPV0JLvzjWcw6bxpmxuw5jQV6FznxFBgy4qzvWMK29hjrn5hARV2Wu373J2QyEZwsiVkpvClJ1sAzEZgEkY1O1/QMYxoP0HjqbmLR4PBZg01rJ+PedxOOkUnG8J40kawT3WNU/rSc7o8kSHyoh+RPx1O5O0W0J4tHDzVh7/lQtd2x3s1P+d1mHPL+D4alnbEbUxhgWc+dl0HuKKv+TD6tnk98UedYyMiljaEy4qz63QZ+/ufv5KwP7OTVbe9gd0OUtpmw+9IsqaY0GYvgRCAKkeoMtZdvI9rQw5Tx+4hEjjzXIpkovKPZnNzZ3b3LaaP8mThUZ6EKeiaUkS2D/WceDgE3SAXXHMxGoGtSBNyxjFO5O4WlPXfLOGM2pxm/NnfCXW9YlJXFuOZK/at6Gb20hiEjzmP/OpWemypY0vIe3nfB73jf9DfIWIR7Nr+Pbo48LDVLhH2ZKj47+5cs3zUHdwv2XOdMamzn4IEKPNvnu5FDrPvIY28je4M6wf7nzqYY3VPy6ljucFyPQKLO6KmFaMKZuCJB7KATjWZIxSCScCLBFrFs3PCoEYtGuHTuGVx12dml+jGJnHAKDBl5Lo/Qunsit1z6U86s305FLI07lG1N07OtmsiBKD4mQ3ZSGgyyaWP9U9PIvuOo0y84Y9ZWWt9qINFdRm4nhkMWxm5M5ucKANlxWdgVx1IRPOJ0NQYnYuRaMqmimr/55LvJVMI/P/AkE15NU9mWOdRPNGo01Ixhz+5OInFjRvNUGmZP5LTqGt5z3hmcMX0iIqNZSQLDzOYD3yF3QYTvufudfZ4vBx4Ezgf2AB9z943Bc18FbiD3ve4r7r4sTJ9y8tqwbwpzpmxhSmU7i599H7+rPoVILEvmV3XEu6OQMYiCV2RJvbeTWHmGDb+YRs1pO3hx03QunPZ2bk3DIRLNMrb2ID3d5blzNAwq9mao2HvkYawecxJzM9hvcifjYZCozWLp3KU/xlVUsuTKj9NUU8sj/7mC8a1Zkskj+zCMaz96AVd96FzKy+PH3F8xmrg7zz6+ikcf/A0H9/dw8RWzuf6z72Ps+KrhHpqcYEUHhplFgXuAK4BWYIWZLXX3N/Kq3QDsdfcZZrYQuAv4mJnNAhYCs4EpwJNmdmbQZqA+5SQVTWSYXbeFW19aQFd9DI9EiLVUEemMHd7hnAYORoi/VkH1e/YwdkKGXevq2HJaDTv2jWNSzX7KdkXZs7GOTCZy6CQ4w0jURzmQiTNma4poKjiTe3KUzOpKDMutpbhx9s56Lj1nJhefNY2LJp1GNJLbZJVMpMlkjr4uVTabJZXMMGZMxVHPjWb33fk4Tyx5iZ7u3Fn3P/3hr/nlz17l3sduomqM/r3sH5JSrGHMBda7+1sAZrYEWADk/3FfANwWPH4YuNtyB5QvAJa4ewJ428zWB/0Rok85WSVjvPH2FLomxQ/tMI5sjR8Oi4C5EdkWZ0wsydjJabZ0TKB8F2SJ07F+AtEMmDkTp+2ms72arv0V5HZEGN2T4nRPioN77lSMBJR15XZ//N2iy7nm0rP7PUHuoktm8OAPfnVUaMRiUS66ZOZQ/ESGTfuu/Tz+oxdI5V0tOJXM0LGnk2UPv8S1n37PMI5OTrRSBMZUYEvecitwYX913D1tZh1AfVD+Qp+2U4PHA/UpJ6lMLMbmg/V42cB13Y2MG7tax1I9Fur2d3PavC2kqnOX0iiv68ajUTp2VbPmlzPI9jmh2s1IVzhliSy1e53v/P0nmDVrauEXC0xramDBdc08+shKkongMuXlca6+5l2cfsbJtZ9i7eutxMuiRwQGQKInxcvPrVVg/IEpRWAUOvW0777H/ur0V17oq93R/1wAMLMbgRsBTjvttP5HKaNGNJElGY1i6TQey31EspNSRLbHsfyPjDkVjQf5o90HeHVBOeX1+5gyroPqygRZh5THyBIFnHENnZRVJek+UHGoj9zVbCFaGeFzp5/DwtsupK5+TKgx3viFy3j3pWfx9JOryTpcdsVszp5zaml/ECNAbcPYo/6lLEAkYkycWjsMI5LhVIrAaAXyf1MagW391Gk1sxgwDmgfoO1AfQLg7ouBxQDNzc0FQ0VGl4bOPWwfU0tVpvPQJzR9Tjdle2N42rF0hEgsQySeZdZ5W3i+cyL709VM6k4TGW8kDka5oHYTL3efRk86zv6OSjatnEJPpJzqmjjZHkhmMlhFhItnTeOrV7yPabXjj3ucs+c0nvRnYZ85p5GJk8fTurGNbN4/hIqXxbjmTy4ZxpHJcDD34v7GBgGwFrgM2AqsAD7h7mvy6nwRmOPunw92el/n7v/NzGYDPya332IK8BQwk9yaxzH7LKS5udlbWlqKmo+MDBfcdBtdtWWUzejGx+QuWV5Biun7DnJ6d4LdPZW8vOIU9l5oVNUkmV65i3dM2MWFkzdwZkUbv90+g39cOR9Ll/Ev865m3qyTa9/CibRn537+/ssPseF324hGI5SVx7jpG9cX/LeyMjqZ2Up3bx6wXrGBEbzYB4H/Te4Q2Pvd/Q4zux1ocfelZlYBPAS8i9yaxcK8Hdq3AJ8hd9zLX7r7E/31OdA4FBgnl/MWLmTshEYskqFyUorxp6QptySbNtRQPj6FTYgxPhHjYisjNqMK9r6D+kl7mdPUTHuijlg0wtxpjUQiuqBBKbTt2EdXZ4LG6Q26Yu5J5oQGxkihwBAROX5hA0NfE0REJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoRQWGmdWZ2XIzWxfc1/ZTb1FQZ52ZLcorP9/MXjez9Wb2XTOzoPw2M9tqZquC2weLGaeIiBSv2DWMm4Gn3H0m8FSwfAQzqwNuBS4E5gK35gXLvcCNwMzgNj+v6bfd/dzg9vMixykiIkUqNjAWAA8Ejx8APlygzpXAcndvd/e9wHJgvplNBmrc/Xl3d+DBftqLiMgIUGxgTHL37QDB/cQCdaYCW/KWW4OyqcHjvuW9vmRmr5nZ/f1t6hIRkRNnwMAwsyfNbHWB24KQr2EFyvwY5ZDbVHUGcC6wHfinY4zvRjNrMbOWtra2kEMSEZHjFRuogrtf3t9zZrbTzCa7+/ZgE9OuAtVagffnLTcCzwbljX3KtwWvuTPvNe4DHj/G+BYDiwGam5u9v3oiIlKcYjdJLQV6j3paBDxaoM4yYJ6Z1QabluYBy4JNWAfM7KLg6KhP9bYPwqfXtcDqIscpIiJFGnANYwB3Av9uZjcAm4HrAcysGfi8u3/W3dvN7OvAiqDN7e7eHjz+AvBDoBJ4IrgBfMvMziW3iWoj8OdFjlNERIpkuQOUTg7Nzc3e0tIy3MMQERlVzGyluzcPVE9neouISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhKKAkNEREJRYIiISCgKDBERCUWBISIioSgwREQkFAWGiIiEosAQEZFQFBgiIhJKUYFhZnVmttzM1gX3tf3UWxTUWWdmi/LK7zCzLWbW2ad+uZn9xMzWm9mLZtZUzDhFRKR4xa5h3Aw85e4zgaeC5SOYWR1wK3AhMBe4NS9YHgvK+roB2OvuM4BvA3cVOU4RESlSsYGxAHggePwA8OECda4Elrt7u7vvBZYD8wHc/QV33z5Avw8Dl5mZFTlWEREpQrGBMan3D35wP7FAnanAlrzl1qDsWA61cfc00AHUF6poZjeaWYuZtbS1tR3n8EVEJKzYQBXM7EnglAJP3RLyNQqtGXip2rj7YmAxQHNz80D9iojIIA0YGO5+eX/PmdlOM5vs7tvNbDKwq0C1VuD9ecuNwLMDvGwrcCrQamYxYBzQPtBYRURk6BS7SWop0HvU0yLg0QJ1lgHzzKw22Nk9LygL2+9HgafdXWsPIiLDqNjAuBO4wszWAVcEy5hZs5l9D8Dd24GvAyuC2+1BGWb2LTNrBarMrNXMbgv6/T5Qb2brgb+iwNFXIiJyYtnJ9MW9ubnZW1pahnsYIiKjipmtdPfmgerpTG8REQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISigJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUBQYIiISSlGBYWZ1ZrbczNYF97X91FsU1FlnZovyyu8wsy1m1tmn/qfNrM3MVgW3zxYzThERKV6xaxg3A0+5+0zgqWD5CGZWB9wKXAjMBW7NC5bHgrJCfuLu5wa37xU5ThERKVKxgbEAeCB4/ADw4QJ1rgSWu3u7u+8FlgPzAdz9BXffXuQYRETkBCg2MCb1/sEP7icWqDMV2JK33BqUDeQjZvaamT1sZqf2V8nMbjSzFjNraWtrO56xi4jIcRgwMMzsSTNbXeC2IORrWIEyH6DNY0CTu78TeJLDazFHd+S+2N2b3b25oaEh5JBEROR4xQaq4O6X9/ecme00s8nuvt3MJgO7ClRrBd6ft9wIPDvAa+7JW7wPuGugcYqIyNAy94G+7B+jsdk/AHvc/U4zuxmoc/e/6VOnDlgJnBcUvQyc7+7teXU63X1M3vLk3k1dZnYt8LfuflGI8bQBm4LFCcDuQU9u9PhDmKfmeHLQHEeuae4+4CaaAdcwBnAn8O9mdgOwGbgewMyagc+7+2fdvd3Mvg6sCNrc3hsWZvYt4BNAlZm1At9z99uAr5jZNUAaaAc+HWYw+RM2sxZ3by5yfiPeH8I8NceTg+Y4+hW1hjGSnexvXK8/hHlqjicHzXH005neIiISyskcGIuHewAnyB/CPDXHk4PmOMqdtJukRESktE7mNQwRESmhURcYQ3jBw3Iz+4mZrTezF82saWhn0r8SzPF8M3s9mMt3zcyC8tvMbGveRR0/eKLmlDe2+Wb2ZjC2Qtce6/d9MLOvBuVvmtmVYfs80YZojhuD93SVmbWcmJkc22DnaWb1ZvaMmXWa2d192hT87A6XIZrjs0Gfvb+Hha6QMTK5+6i6Ad8Cbg4e3wzcVaBOHfBWcF8bPK4NnrsImAx09mnz34F/DR4vJHfxw9E6x5eAi8mdZf8EcFVQfhvw18M4ryiwATgdKANeBWaFeR+AWUH9cmB60E80TJ+jfY7BcxuBCcM1rxLPsxq4FPg8cHefNgU/uyfZHJ8Fmof7PRzMbdStYTB0FzzM7/dh4LJh/HYz6DlMOb5IAAAC5ElEQVRa7oz7Gnd/3nOfzgf7aT8c5gLr3f0td08CS8jNNV9/78MCYIm7J9z9bWB90F+YPk+koZjjSDToebr7QXd/DujJrzwCP7sln+NoNxoDY6gueHiojbungQ6gvujRDk4xc5waPO5b3utLlruo4/39beoaQmHel/7eh2PNdzAXtxwqQzFHyF1/7RdmttLMbhyCcR+vYuZ5rD6P9dk90YZijr1+EGyO+tpwb3Y7HsWe6T0kzOxJ4JQCT90StosCZQMdDjaYNoM2hHM81jzuBb4eLH8d+CfgMyFfrxTC/IyPd16FvvQM56F/QzFHgHe7+7Zge/dyM/u9u/+qiHEWq5h5FtPniTQUcwT4pLtvNbOxwH8Cf0pubWrEG5GB4cNwwcOgzalAq5nFgHHkLksyJIZwjq3B4/zybcFr7sx7jfuAxwc7/kHq/Rn3OjS2AnX6vg/HajtQnyfSkMzR3Xvvd5nZI+Q2lwxnYBQzz2P1WfCzO0yGYo64+9bg/oCZ/ZjcezkqAmM0bpJaCvQeEbQIeLRAnWXAPDOrDTa7zAvKwvb7UeDpYDvqcBj0HINNWAfM7KJgVfdTve2D8Ol1LbB6qCbQjxXATDObbmZl5HYSLu1Tp7/3YSmwMDgqZTowk9wO0jB9nkgln6OZVQffRjGzanLv9Yl+7/oqZp4FHeuzO0xKPkczi5nZhOBxHLia4X8vwxvuve7HeyO3ffApYF1wXxeUN5O7eGFvvc+Q22m4HvizvPJvkftWkA3ubwvKK4D/COq/BJw+iufYTO5DuAG4m8MnaD4EvA68Ru6DPnkY5vZBYG0wtluCstuBawZ6H8htrtsAvEne0TOF+hzmz2hJ50juKJ1Xg9uakTDHEsxzI7lv4p3B7+GsY312T5Y5kjt6amXwO7gG+A7BkXCj4aYzvUVEJJTRuElKRESGgQJDRERCUWCIiEgoCgwREQlFgSEiIqEoMEREJBQFhoiIhKLAEBGRUP4/CEhbbyDvs7cAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10856dd10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 121.566391023, time elaps:1\n",
      "CH_score_val: 3392.18193712\n",
      "K-means begin with clusters: 50\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10a56c6d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x108560f50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 138.225132113, time elaps:1\n",
      "CH_score_val: 4065.88282784\n",
      "K-means begin with clusters: 60\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107b8f990>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x102ab8410>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 110.525242681, time elaps:1\n",
      "CH_score_val: 3217.33091963\n",
      "K-means begin with clusters: 70\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1083fdb10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1085636d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 84.5403592125, time elaps:1\n",
      "CH_score_val: 2735.11915416\n",
      "K-means begin with clusters: 80\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1083fdc50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10877acd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 72.2675662914, time elaps:1\n",
      "CH_score_val: 2301.55141614\n",
      "K-means begin with clusters: 90\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109369110>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x102ac6110>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 49.6363314343, time elaps:1\n",
      "CH_score_val: 1355.07038384\n",
      "K-means begin with clusters: 100\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10250abd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10876e390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 58.6747639738, time elaps:1\n",
      "CH_score_val: 1709.29951767\n"
     ]
    }
   ],
   "source": [
    "# 设置超参数（聚类数目K）搜索范围\n",
    "Ks = [10,20,30,40,50,60,70,80,90,100]\n",
    "CH_scores = []\n",
    "CH_score_val = []\n",
    "for K in Ks:\n",
    "    ch,v = K_cluster_analysis(K, X_train_part, X_val)\n",
    "    CH_scores.append(ch)\n",
    "    CH_score_val.append(v)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x10939df10>]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109519e90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制训练集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_scores), 'b-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x108752e90>]"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107c3aa50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制校验集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_score_val), 'g-')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 这次又K=10分最高了，很不稳定，猜想也许因为样本量较大，调整一下初始值尝试的次数n_init试一下。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 一个参数点（聚类数据为K）的模型，在校验集上评价聚类算法性能\n",
    "def K_cluster_analysis(K, X_train, X_val):\n",
    "    start = time.time()\n",
    "    \n",
    "    print(\"K-means begin with clusters: {}\".format(K));\n",
    "    \n",
    "    #K-means,在训练集上训练\n",
    "    mb_kmeans = MiniBatchKMeans(n_clusters = K,n_init=30)\n",
    "    mb_kmeans.fit(X_train)\n",
    "    \n",
    "    # 在训练集和测试集上预测\n",
    "    y_train_pred = mb_kmeans.fit_predict(X_train)\n",
    "    y_val_pred = mb_kmeans.predict(X_val)\n",
    "    \n",
    "    #以前两维特征打印训练数据的分类结果\n",
    "    plt.scatter(X_train[:, 0], X_train[:, 1], c=y_train_pred)\n",
    "    plt.show()\n",
    "\n",
    "    # K值的评估标准\n",
    "    #利用CH索引方法Calinski-Harabasz Index进行评估\n",
    "    #分数值越大则聚类效果越好\n",
    "    \n",
    "    #训练集评估\n",
    "    CH_score = metrics.calinski_harabaz_score(X_train,mb_kmeans.predict(X_train))\n",
    "    \n",
    "    \n",
    "    #校验集评估\n",
    "    CH_score_val = metrics.calinski_harabaz_score(X_val,mb_kmeans.predict(X_val))\n",
    "    \n",
    "    end = time.time()\n",
    "    print(\"CH_score: {}, time elaps:{}\".format(CH_score, int(end-start)))\n",
    "    print(\"CH_score_val: {}\".format(CH_score_val))\n",
    "    \n",
    "    return CH_score,CH_score_val"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "K-means begin with clusters: 10\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f7ce290>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 444.989950618, time elaps:0\n",
      "CH_score_val: 4926.90443285\n",
      "K-means begin with clusters: 20\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109523e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 175.610089508, time elaps:1\n",
      "CH_score_val: 2201.24981885\n",
      "K-means begin with clusters: 30\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1095cad50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 139.557884663, time elaps:1\n",
      "CH_score_val: 1714.88803642\n",
      "K-means begin with clusters: 40\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1095caf90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 110.478832262, time elaps:1\n",
      "CH_score_val: 1297.17742206\n",
      "K-means begin with clusters: 50\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10a545dd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 137.969387846, time elaps:1\n",
      "CH_score_val: 1417.95903726\n",
      "K-means begin with clusters: 60\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x102ac6090>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 54.4956047283, time elaps:2\n",
      "CH_score_val: 697.720227727\n",
      "K-means begin with clusters: 70\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10c38aa50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 43.6616450843, time elaps:2\n",
      "CH_score_val: 558.185836239\n",
      "K-means begin with clusters: 80\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x108045050>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 56.1361496642, time elaps:2\n",
      "CH_score_val: 773.282267168\n",
      "K-means begin with clusters: 90\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1102c63d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 36.3468611485, time elaps:2\n",
      "CH_score_val: 481.030522117\n",
      "K-means begin with clusters: 100\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10bdf9e90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 79.6510124903, time elaps:2\n",
      "CH_score_val: 799.720923887\n"
     ]
    }
   ],
   "source": [
    "# 设置超参数（聚类数目K）搜索范围\n",
    "Ks = [10,20,30,40,50,60,70,80,90,100]\n",
    "CH_scores = []\n",
    "CH_score_val = []\n",
    "for K in Ks:\n",
    "    ch,v = K_cluster_analysis(K, X_train_part, X_val)\n",
    "    CH_scores.append(ch)\n",
    "    CH_score_val.append(v)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x11014da50>]"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1101b2ed0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制训练集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_scores), 'b-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1086d3ed0>]"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1029e8e90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制校验集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_score_val), 'g-')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "调整后，依然k=10的时候分值更高，尝试一下10以下的K。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "K-means begin with clusters: 2\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10bdb3e50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 853.982694638, time elaps:0\n",
      "CH_score_val: 4081.07392215\n",
      "K-means begin with clusters: 3\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107a2afd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 1048.8630313, time elaps:0\n",
      "CH_score_val: 6543.47084004\n",
      "K-means begin with clusters: 4\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107a2ad90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 729.69021853, time elaps:0\n",
      "CH_score_val: 5693.28298956\n",
      "K-means begin with clusters: 5\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10a574f10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 673.248370077, time elaps:1\n",
      "CH_score_val: 6310.92020394\n",
      "K-means begin with clusters: 6\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10bd60e90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 522.457154547, time elaps:1\n",
      "CH_score_val: 5305.75467846\n",
      "K-means begin with clusters: 7\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1086d3510>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 437.616533009, time elaps:1\n",
      "CH_score_val: 4628.19365999\n",
      "K-means begin with clusters: 8\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD8CAYAAABkbJM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGkNJREFUeJzt3XuUnHWd5/H3p2+5QUIuDQm5kGAaNYjIUgYdHW9ACI6a7IhnorMSR9yM7ODZHWf3HNR18OA4gueMzPHIOBMFjXgUkB2kHS8x3Lwtl3QItwAhTUJIJ4GEdAhJSKdT3d/9o564lbY69euu6q508nmdU6fqeZ7v8/T3l8rpTz+XekoRgZmZWTl1tW7AzMxGBgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVmShlo3UE1TpkyJ2bNn17oNM7MRZc2aNS9HRHO5uuMqMGbPnk1bW1ut2zAzG1EkbU6p8yEpMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS1KVwJC0UNJ6Se2Sri6xfJSk27LlD0manc2/WNIaSU9kz+8rWuf8bH67pG9IUjV6NTOzwak4MCTVAzcClwLzgI9Kmten7Apgd0TMBW4Ars/mvwx8MCLOAZYCtxSt8y1gGdCSPRZW2quZmQ1eNfYw5gPtEbExIrqBW4FFfWoWASuy13cAF0pSRKyNiG3Z/HXA6GxvZBowPiIeiIgAvg8srkKvZmY2SNUIjOnAlqLpjmxeyZqIyAN7gMl9aj4MrI2Ig1l9R5ltmpnZMGqowjZKnVuIgdRIOpvCYaoFA9jm4XWXUTh0xaxZs8r1amZmg1SNPYwOYGbR9AxgW381khqACUBnNj0DuBO4PCKeK6qfUWabAETE8ojIRUSuubm5wqGYmVl/qhEYq4EWSXMkNQFLgNY+Na0UTmoDXAbcGxEh6RTgZ8DnIuL3h4sjYjuwV9LbsqujLgfuqkKvZmY2SBUHRnZO4ipgJfA0cHtErJN0raQPZWU3AZMltQOfBQ5fensVMBf4oqRHs8ep2bIrge8A7cBzwC8q7dXMzAZPhYuQjg+5XC7a2tpq3YaZ2YgiaU1E5MrV+ZPeZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSaoSGJIWSlovqV3S1SWWj5J0W7b8IUmzs/mTJd0naZ+kb/ZZ5/5sm32/69vMzGqgodINSKoHbgQuBjqA1ZJaI+KporIrgN0RMVfSEuB64C+ALuCLwJuyR19/GRH+km4zs2NANfYw5gPtEbExIrqBW4FFfWoWASuy13cAF0pSROyPiN9RCA4zMzuGVSMwpgNbiqY7snklayIiD+wBJids+7vZ4agvSlIVejUzs0GqRmCU+kUeg6jp6y8j4hzgT7PHx0v+cGmZpDZJbTt37izbrJmZDU41AqMDmFk0PQPY1l+NpAZgAtB5tI1GxNbseS/wQwqHvkrVLY+IXETkmpubBzUAMzMrrxqBsRpokTRHUhOwBGjtU9MKLM1eXwbcGxH97mFIapA0JXvdCHwAeLIKvZqZ2SBVfJVUROQlXQWsBOqBmyNinaRrgbaIaAVuAm6R1E5hz2LJ4fUlPQ+MB5okLQYWAJuBlVlY1AN3A9+utFczMxs8HeUP/REnl8tFW5uvwjUzGwhJayIiV67On/Q2M7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkVQkMSQslrZfULunqEstHSbotW/6QpNnZ/MmS7pO0T9I3+6xzvqQnsnW+IUnV6NXMzAan4sCQVA/cCFwKzAM+Kmlen7IrgN0RMRe4Abg+m98FfBH4nyU2/S1gGdCSPRZW2quZmQ1eNfYw5gPtEbExIrqBW4FFfWoWASuy13cAF0pSROyPiN9RCI4/kDQNGB8RD0REAN8HFlehVzMzG6RqBMZ0YEvRdEc2r2RNROSBPcDkMtvsKLNNMzMbRtUIjFLnFmIQNYOql7RMUpuktp07dx5lk2ZmVolqBEYHMLNoegawrb8aSQ3ABKCzzDZnlNkmABGxPCJyEZFrbm4eYOtmZpaqGoGxGmiRNEdSE7AEaO1T0woszV5fBtybnZsoKSK2A3slvS27Oupy4K4q9GpmZoPUUOkGIiIv6SpgJVAP3BwR6yRdC7RFRCtwE3CLpHYKexZLDq8v6XlgPNAkaTGwICKeAq4EvgeMAX6RPczMrEZ0lD/0R5xcLhdtbW21buOo1nW+xA/Wr2XngX1cNLOFxXPmMbqhsdZtmdkJTNKaiMiVq6t4D8PS/ftzT/L5B3/Jod4eeiL4/Yub+e7Tbfzk/ZczxqFhZsc4B8YQuX/rRr665j42vdrJ1LEn85lz3s41q++mqyf/h5oD+UNs3rubHz37KJ+c99YadmtmVp7vJTUEfrNtE5++/99Z/8pOunt7eGHfK/zvh35FT2/vH9V29eT52eZnatClmdnAeA9jCFy35v4j9iQADvb29Fs/oWn0ULdkZlYx72EMgU2vHu0jJkca09DI5W84fwi7MTOrDgfGEJhx0viS809ubOL0sSczrqGJkxqbGFVXz1+ffQHvmX7mMHdoZjZwPiQ1BP7uvHfxt7/9KQeKDkuNaWjkM29+B5+aN5+2HR10HnyNXPMMpowZV8NOzczSOTCGwMJZr6fr7Xmue+R+XnptL6eMGsNn3vwn/NUbckhi/mkzy2/EzOwY48AYIovPPJvFZ55Nd08PjXV1+PufzGykc2AMsab6+lq3YGZWFT7pbWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWpCqBIWmhpPWS2iVdXWL5KEm3ZcsfkjS7aNnnsvnrJV1SNP95SU9IelTSsf29q2ZmJ4CKP+ktqR64EbgY6ABWS2qNiKeKyq4AdkfEXElLgOuBv5A0D1gCnA2cDtwt6ayIOPzlEe+NiJcr7dHMzCpXjT2M+UB7RGyMiG7gVmBRn5pFwIrs9R3AhSrcXGkRcGtEHIyITUB7tj0zMzvGVCMwpgNbiqY7snklayIiD+wBJpdZN4BfSVojaVkV+jQzswpU4+aDpW7DGok1R1v3HRGxTdKpwCpJz0TEb/7ohxfCZBnArFmz0rs2M7MBqcYeRgdQ/AUPM4Bt/dVIagAmAJ1HWzciDj/vAO6kn0NVEbE8InIRkWtubq54MGZmVlo1AmM10CJpjqQmCiexW/vUtAJLs9eXAfdGRGTzl2RXUc0BWoCHJY2TdDKApHHAAuDJKvQ6pPZ0d7F5727yvb21bsXMrOoqPiQVEXlJVwErgXrg5ohYJ+laoC0iWoGbgFsktVPYs1iSrbtO0u3AU0Ae+JuI6JF0GnBn9qVDDcAPI+KXlfY6VF471M3/+r8/Z9WWDTTU1dFUV8/fv/VC/vx159S6NTOzqlHhD/3jQy6Xi7a24f/Ixn+97/9wX8dz5OP/71nUIb7+jj9j8eveNOz9mJkNhKQ1EZErV+dv3BuErvwhvrb21/xow2N05Q/90Rl+gF6C//H7/2Dzvlf47+e+c9h7NDOrNt8aZIAigo/+6kfc/HQbB/oJi2I3PPY7tu9/dVh6MzMbSg6MAXp4xxae7HxxQOv84Nm1Q9SNmdnwcWAM0BO7XuTQAK+C6u7pKV9kZnaM8zmMAZo6+iTqeqG3DiY1HmD+xJfYm2/kwd3T6InS+fuxs94yzF2amVWfA2OAHvqXR9GZwbKzH+dv564ln4XEgZ4GLl9zCc/sm3xE/UdbzmXO+Em1aNXMrKp8SGoAXti0k7W/b+fjrz7D371uLaPqexnXkGdcQ57JTV2sOH8ldRQOVwm45q0X8dW3X1rbps3MqsSBMQDrn+ygbtRBFuXaaag/8jyGBBMbD3L+xB1A4YZYZ5x0Sg26NDMbGg6MAWhfv53uA3W88axdqMRtE+sVnD5q3x+mVarIzGyEcmAMwDOPPcJJYw7R0ND/VVLbusZSRy8NqmPauJOHsTszs6HlwEgU0c3YUS8wZcpr9HeVbD7gA1M38eO3/owzJ0ziDRNPHd4mzcyGkAMjVe/LXLLwWZ6eOIl/e/Q/8Vp3PX0/jtFYBx+ftZ5zT9nJDy5aUps+zcyGiC+rTdTdO4GvbHg3exnFz6+fy65zxzJ16j7mnPEKkyZ30dVVzzvfsRWAuvqpnDr2pBp3bGZWXd7DSPT1O3/P/q3ivN7NnJF7iQkf3IoW7KDrjfvZsW8UX73unXR2jqY3gHFX1bpdM7Oqc2Ak+snja2jZ/xJnLtzC+Z94holn7GXMpG5eGR/sPnc/7730OVpbz6KnF17oGVvrds3Mqs6BkahlxkZmX7ydaW/aTdPYHuoaILJvJc8Lzvrz59m5azQNdfDCnh/Wul0zs6pzYCQa3dvL1LN2E4iefOGfLXoLn7OIgFfGBLuoI4CT5NuZm9nxx4GR4OChbtghtr46CUXQ0Fi4PKquPpAKtwF5cfcpjH/TKwQwaex7a9qvmY1sm17t5J6Odjbv3V3rVo7gq6QSbH11J/tniumTOuk+1MirO8Zx8sT9NDb10tjQQ4To6QUa4EBPHTNP+UytWzazEagrf4hP//pOHnzxBRrr6uju7eVdp8/hm+9axKj62v+6rsoehqSFktZLapd0dYnloyTdli1/SNLsomWfy+avl3RJ6jaH0/OvbkVj8jx879l8/58/QOst7+YH//xntN3/BvYfaISA/KFGtj7SzHdfPAvJO25mNnD/uOY+Hti+ma6ePHsPdXOwJ89vt23in9b+ptatAVUIDEn1wI3ApcA84KOS5vUpuwLYHRFzgRuA67N15wFLgLOBhcC/SKpP3Oaw+fsVN9GwYTTPPjmbnnw9h7obyecbeGJ1C88+cgYvbzuZ3l7YvroZRgUvHvA37JnZwEQEP25/nIO9R95Koqsnz60bHqtRV0eqxp/C84H2iNgYEd3ArcCiPjWLgBXZ6zuAC1W4M98i4NaIOBgRm4D2bHsp2xw2O67dyHPPzyZ/6MhdwvyhBh578PU8vXkaT/9yDjNzu2gec4Dunr016tTMRqqgEA6lvJY/NLzN9KMagTEd2FI03ZHNK1kTEXlgDzD5KOumbBMAScsktUlq27lzZwXD6N+YN04kny99/LCrq4m9e+p53bRdjJ+7m17yTB1z3pD0YWbHrzqJ85r/+NecgAtOmzn8DZVQjcAodQ/vSKwZ6Pw/nhmxPCJyEZFrbm4+aqOD9di626nb11Vy2ajufbzYM5HfPjCXqa/v4txJn2R0w8Qh6cPMjm//cMECxjU00VhXD0BTXT3jGpu4Zv5FNe6soBqn3TuA4vibAWzrp6ZDUgMwAegss265bQ6r+k3b6H3jbGioo5BnvagnmFL3PHvGTeTU0fv5yNu/zNSx3rsws8GZN+k0Vi36FN97uo11nTs4Z/JUPvHG85k69tj4qoRqBMZqoEXSHGArhZPYH+tT0wosBR4ALgPujYiQ1Ar8UNLXgdOBFuBhCr+Ry21zWP3u0Rt513lX0jNlCj0njaFh336mjN3G1vMm8O5XzuEfbvoEDQ31tWzRzI4Dp48bz+dz76t1GyVVHBgRkZd0FbASqAdujoh1kq4F2iKiFbgJuEVSO4U9iyXZuusk3Q48BeSBv4mIHoBS26y010r9Zu23at2CmVnNKKLkqYERKZfLRVtbW63bMDMbUSStiYhcuTp/wszMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCxJRYEhaZKkVZI2ZM8T+6lbmtVskLS0aP75kp6Q1C7pG5KUzf+SpK2SHs0e76+kTzMzq1ylexhXA/dERAtwTzZ9BEmTgGuAC4D5wDVFwfItYBnQkj0WFq16Q0S8JXv8vMI+zcysQpUGxiJgRfZ6BbC4RM0lwKqI6IyI3cAqYKGkacD4iHggIgL4fj/rm5nZMaDSwDgtIrYDZM+nlqiZDmwpmu7I5k3PXvedf9hVkh6XdHN/h7rMzGz4lA0MSXdLerLEY1Hiz1CJeXGU+VA4VPU64C3AduCfjtLfMkltktp27tyZ2JKZmQ1UQ7mCiLiov2WSXpI0LSK2Z4eYdpQo6wDeUzQ9A7g/mz+jz/xt2c98qehnfBv4j6P0txxYDpDL5aK/OjMzq0ylh6RagcNXPS0F7ipRsxJYIGlidmhpAbAyO4S1V9LbsqujLj+8fhY+h/1n4MkK+zQzswqV3cMo4zrgdklXAC8AHwGQlAM+HRGfiohOSV8GVmfrXBsRndnrK4HvAWOAX2QPgK9JeguFQ1TPA39dYZ9mZlYhFS5QOj7kcrloa2urdRtmZiOKpDURkStX5096m5lZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJXFgmJlZEgeGmZklcWCYmVkSB4aZmSVxYJiZWRIHhpmZJakoMCRNkrRK0obseWI/dUuzmg2SlhbN/4qkLZL29akfJek2Se2SHpI0u5I+zcyscpXuYVwN3BMRLcA92fQRJE0CrgEuAOYD1xQFy0+zeX1dAeyOiLnADcD1FfZpZmYVqjQwFgErstcrgMUlai4BVkVEZ0TsBlYBCwEi4sGI2F5mu3cAF0pShb2amVkFKg2M0w7/ws+eTy1RMx3YUjTdkc07mj+sExF5YA8wucJezcysAg3lCiTdDUwtsegLiT+j1J5BVGsdScuAZQCzZs1KbMnMzAaqbGBExEX9LZP0kqRpEbFd0jRgR4myDuA9RdMzgPvL/NgOYCbQIakBmAB09tPfcmA5QC6XKxdEZmY2SJUekmoFDl/1tBS4q0TNSmCBpInZye4F2bzU7V4G3BsRDgMzsxqqNDCuAy6WtAG4OJtGUk7SdwAiohP4MrA6e1ybzUPS1yR1AGMldUj6Urbdm4DJktqBz1Li6iszMxteOp7+cM/lctHW1lbrNszMRhRJayIiV67On/Q2M7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkFQWGpEmSVknakD1P7KduaVazQdLSovlfkbRF0r4+9Z+QtFPSo9njU5X0aWZmlat0D+Nq4J6IaAHuyaaPIGkScA1wATAfuKYoWH6azSvltoh4S/b4ToV9mplZhSoNjEXAiuz1CmBxiZpLgFUR0RkRu4FVwEKAiHgwIrZX2IOZmQ2DSgPjtMO/8LPnU0vUTAe2FE13ZPPK+bCkxyXdIWlmhX2amVmFGsoVSLobmFpi0RcSf4ZKzIsy6/wU+FFEHJT0aQp7L+/rp79lwDKAWbNmJbZkZmYDVTYwIuKi/pZJeknStIjYLmkasKNEWQfwnqLpGcD9ZX7mrqLJbwPXH6V2ObAcIJfLlQsiMzMbpEoPSbUCh696WgrcVaJmJbBA0sTsZPeCbF6/svA57EPA0xX2aWZmFVLE4P8olzQZuB2YBbwAfCQiOiXlgE9HxKeyuk8Cn89W+0pEfDeb/zXgY8DpwDbgOxHxJUlfpRAUeaATuDIinknoZyewedADSjcFeHkYfs6x6EQdu8d94jmRxn5GRDSXK6ooME5UktoiIlfrPmrhRB27x33iOZHH3h9/0tvMzJI4MMzMLIkDY3CW17qBGjpRx+5xn3hO5LGX5HMYZmaWxHsYZmaWxIHRh6SFktZLapdU6maKoyTdli1/SNLsomWfy+avl3TJcPZdqcGOW9JsSQeK7iz8r8Pde6USxv4uSY9Iyku6rM+ykndiHgkqHHdP0XveOnxdVy5h3J+V9FR2a6J7JJ1RtGzEvt9VERF+ZA+gHngOOBNoAh4D5vWp+W/Av2avl1C4qy7AvKx+FDAn2059rcc0DOOeDTxZ6zEM8dhnA28Gvg9cVjR/ErAxe56YvZ5Y6zEN9bizZftqPYYhHPd7gbHZ6yuL/q+P2Pe7Wg/vYRxpPtAeERsjohu4lcIdeYsV36H3DuBCScrm3xoRByNiE9BO/7duP9ZUMu6RruzYI+L5iHgc6O2zbr93Yh4BKhn3SJYy7vsi4rVs8kEKtzOCkf1+V4UD40gpd9b9Q01E5IE9wOTEdY9VlYwbYI6ktZJ+LelPh7rZKqvkfTve3/OjGS2pTdKDkkp9rcGxaqDjvgL4xSDXPe6UvfngCSblzrr91QzmrrzHikrGvR2YFRG7JJ0P/ETS2RHxarWbHCKVvG/H+3t+NLMiYpukM4F7JT0REc9VqbehlDxuSf8FyAHvHui6xyvvYRypAyj+7o0ZFO5xVbJGUgMwgcL9rlLWPVYNetzZIbhdABGxhsLx4bOGvOPqqeR9O97f835FxLbseSOFu0+fV83mhlDSuCVdROErHD4UEQcHsu7xzIFxpNVAi6Q5kpoonNztewVI8R16LwPujcIZsVZgSXY10RygBXh4mPqu1KDHLalZUj1A9tdmC4WTgSNFytj7M+A7MR9DBj3ubLyjstdTgHcATw1Zp9VVdtySzgP+jUJYFH9lw0h+v6uj1mfdj7UH8H7gWQp/KX8hm3cthf88AKOBH1M4qf0wcGbRul/I1lsPXFrrsQzHuIEPA+soXG3yCPDBWo9lCMb+Vgp/Xe4HdgHritb9ZPZv0g78Va3HMhzjBv4EeCJ7z58Arqj1WKo87ruBl4BHs0fr8fB+V+PhT3qbmVkSH5IyM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0vy/wDfkt9arizZRQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10bd706d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 377.379359629, time elaps:1\n",
      "CH_score_val: 4145.09038769\n",
      "K-means begin with clusters: 9\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAD8CAYAAABkbJM/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGmhJREFUeJzt3X2UXHWd5/H3p6vTnZCQkCdiyIOJJopBfBhrIsrRAZEQ3MEwY5wJOmNmxZMR5YxHzx4PjuvgMusZ0eOy6xnW2Sg4kdEJD7tIowOZ8ODO6kpIBxEIGmhCSJrEPNBJIIR0d3V994+6YStNderXXdVd6eTzOueeuvd3f/fW95fK6U/de6tuKSIwMzOrpqnRBZiZ2ejgwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS9Lc6ALqadq0aTFv3rxGl2FmNqps2rRpX0RMr9bvpAqMefPm0d7e3ugyzMxGFUnPpfTzKSkzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNL4sAwM7MkDgwzM0viwDAzsyQODDMzS+LAMDOzJA4MMzNLUpfAkLRU0hZJHZKuqbC+VdKt2foNkuZl7RdL2iTp8ezxA2XbvCtr75D0bUmqR61mZjY0NQeGpBxwI3ApsAi4QtKift2uBPZHxALgBuD6rH0fcFlEnAusBG4p2+Y7wCpgYTYtrbVWMzMbunocYSwGOiJia0T0AGuBZf36LAPWZPN3ABdJUkT8KiJ2Zu2bgbHZ0chMYGJE/DIiAvgBcHkdajUzsyGqR2DMAnaULXdmbRX7REQBOAhM7dfnI8CvIqI7699ZZZ9mZjaCmuuwj0rXFmIwfSSdQ+k01ZJB7PPotqsonbpi7ty51Wo1M7MhqscRRicwp2x5NrBzoD6SmoFJQFe2PBu4E/hERDxT1n92lX0CEBGrIyIfEfnp06fXOBQzMxtIPQJjI7BQ0nxJLcAKoK1fnzZKF7UBlgMPRERIOgP4KfCliPjF0c4RsQt4SdJ52aejPgHcVYdazcxsiGoOjOyaxNXAOuA3wG0RsVnSdZI+nHW7CZgqqQP4AnD0o7dXAwuAr0h6NJvOzNZdBXwP6ACeAe6ptVYzMxs6lT6EdHLI5/PR3t7e6DLMzEYVSZsiIl+tn7/pbWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlqQugSFpqaQtkjokXVNhfaukW7P1GyTNy9qnSnpQ0iFJf99vm59l++z/W99mZtYAzbXuQFIOuBG4GOgENkpqi4gny7pdCeyPiAWSVgDXA38KHAG+Arw1m/r7eET4R7rNzE4A9TjCWAx0RMTWiOgB1gLL+vVZBqzJ5u8ALpKkiHg5In5OKTjMzOwEVo/AmAXsKFvuzNoq9omIAnAQmJqw7+9np6O+Ikl1qNXMzIaoHoFR6Q95DKFPfx+PiHOB92XTn1d8cmmVpHZJ7Xv37q1arJmZDU09AqMTmFO2PBvYOVAfSc3AJKDreDuNiOezx5eAH1E69VWp3+qIyEdEfvr06UMagJmZVVePwNgILJQ0X1ILsAJo69enDViZzS8HHoiIAY8wJDVLmpbNjwH+EHiiDrWamdkQ1fwpqYgoSLoaWAfkgJsjYrOk64D2iGgDbgJukdRB6chixdHtJW0DJgItki4HlgDPAeuysMgB9wHfrbVWMzMbOh3njf6ok8/no73dn8I1MxsMSZsiIl+tn7/pbWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSeoSGJKWStoiqUPSNRXWt0q6NVu/QdK8rH2qpAclHZL09/22eZekx7Ntvi1J9ajVzMyGpubAkJQDbgQuBRYBV0ha1K/blcD+iFgA3ABcn7UfAb4C/IcKu/4OsApYmE1La63VzMyGrh5HGIuBjojYGhE9wFpgWb8+y4A12fwdwEWSFBEvR8TPKQXHqyTNBCZGxC8jIoAfAJfXoVYzMxuiegTGLGBH2XJn1laxT0QUgIPA1Cr77KyyTzMzG0H1CIxK1xZiCH2G1F/SKkntktr37t17nF2amVkt6hEYncCcsuXZwM6B+khqBiYBXVX2ObvKPgGIiNURkY+I/PTp0wdZupmZpapHYGwEFkqaL6kFWAG09evTBqzM5pcDD2TXJiqKiF3AS5LOyz4d9QngrjrUamZmQ9Rc6w4ioiDpamAdkANujojNkq4D2iOiDbgJuEVSB6UjixVHt5e0DZgItEi6HFgSEU8CVwH/CIwD7skmMzNrEB3njf6ok8/no729vdFlHNdvDvyOf352I/uOHOLCmW/msjnnMjY3ptFlmdkpTNKmiMhX61fzEYala9v+GNc+ejc9xT6KETy091n+6ZkNrP2DTzGu2aFhZic2B8Yw+T+7O/jmE+t57tALnDl2Ile9+X3858fu4Uhf4dU+r/T1sv3lLm7ftolPLDivgdWamVXne0kNg1/sfoa/2nArT7+4h55iH52H9/Offv1T+orF1/Q90lfg3uefbECVZmaD4yOMYfCtzfcdcyQB0FPsG7D/xJaxw12SmVnNfIQxDLYdeiG577jcGD7+hsXDWI2ZWX04MIbBWaedUbF9QnMrM8dOZHxzCxOaW2lpauaTC9/L+2YsGOEKzcwGz6ekhsHnFl3IF9vv5Ehf76tt43Jj+MzZ72flgvfwyAvb2d9zmN+bOpepreMbWKmZWToHxjC4+Ky3cN07C3zrifvYc+RFJrWcxlVvfh9//sZ3I4n8tNc3ukQzs0FzYAyTy+acy2VzzqWn2McYNeHffzKz0c6BMcxamnKNLsHMrC580dvMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLEldAkPSUklbJHVIuqbC+lZJt2brN0iaV7buS1n7FkmXlLVvk/S4pEclndi/u2pmdgqo+ZveknLAjcDFQCewUVJbRJT/KtCVwP6IWCBpBXA98KeSFgErgHOAs4D7JL0pIo7+eMSFEbGv1hrNzKx29TjCWAx0RMTWiOgB1gLL+vVZBqzJ5u8ALlLp5krLgLUR0R0RzwId2f7MzOwEU4/AmAXsKFvuzNoq9omIAnAQmFpl2wD+VdImSavqUKeZmdWgHjcfrHQb1kjsc7xtz4+InZLOBNZL+m1E/NtrnrwUJqsA5s6dm161mZkNSj2OMDqBOWXLs4GdA/WR1AxMArqOt21EHH3cA9zJAKeqImJ1ROQjIj99+vSaB2NmZpXVIzA2AgslzZfUQukidlu/Pm3Aymx+OfBARETWviL7FNV8YCHwsKTxkk4HkDQeWAI8UYdah9WL3Ud47sABCsVio0sxM6u7mk9JRURB0tXAOiAH3BwRmyVdB7RHRBtwE3CLpA5KRxYrsm03S7oNeBIoAJ+NiD5JM4A7sx8dagZ+FBH31lrrcDnc28sX77uX+7Y+Q7OaaMnl+I/vv4A/fss5jS7NzKxuVHqjf3LI5/PR3j7yX9n4y5/8mAe3PXvMkYUQ/2XJUpadvWjE6zEzGwxJmyIiX62ff3FvCI4Uevnm//05a594jCOFwmuu8AMEwef/9R6eO3CAvzrvvSNeo5lZvfnWIIMUEXzsf97O9x99hFcGCIty//XhX7LrpRdHpDYzs+HkwBikjTufZ/Pe3YPa5oePPzZM1ZiZjRwHxiA9vmc3vYP8FFRPX2GYqjEzGzm+hjFIr5swniZBMSD3SpFxvytQbBGHZzZDU6XvIcIV5759hKs0M6s/B8YgbelbTy7Xy6RNBaY+coTIjtEiJzovnUDP1GP/Sa84523MP2NyAyo1M6svn5IahJ2v7OLJrs3MeOQQUzcdoakPcr3ZdCSYfe+h0qEHpXueXPv+C/naRRc3tmgzszpxYAxCR9dWOv9mCmM2C/W7jCFAhWDc7tL1igDmTDpjxGs0MxsuDoxB2PIv+yi+0EThtKaKd00EaOr9//MaqJOZ2SjkwBiEf7t9C019cGjeGIoVrv6oCK9My0ExaG5qYuaE00e+SDOzYeLASNTbW2B3V+kLeH056J6SezU0QlBshr2LxzHl10eYc/dLzD9jMmdP891zzezk4U9JJdq/7xD73jaWSV29nN4Jz18ynvE7CkzY1kvfWPHighYmPtXDGU/1EMAtf7S80SWbmdWVAyPRuAmtnN4MTT1NTHzxEONvydHXLA4saqF7URNn7TtA81Olf87pMyZy5vgJDa7YzKy+HBiJvr/uAcbuO4LG9dFy9hHGnf8KTZOKTH5qDIdum4gmFCme3kfxpRwf//QHGl2umVnd+RpGorb1vwIV0bwi8SZRbGmiiBj7e91M/eo+4rAY8/peis0w7vzeqvszMxttHBiJWvpepul0mHLpftQMBx+dzKEnJ9H3cg5ag3GXHqb4siiOgbu2Pdjocs3M6s6npBKdOeUgB+a2smvtXAovjqHYl0NNRfb/choz/2Q7zWf3cugXp1E4vYl9hxpdrZlZ/fkII0H3kW4O/PY0Wrf10fNCK8W+HABRbCJ6cuz96Vn07m+hOG0ML89p5vzXvbWxBZvZqLbt0As8uOspth/qanQpx/ARRoI9u39Ha0sXu59bwPjx3cyY8hK7959Od08zhUIzvfvHUOxpIg7nePmtY7jyLZc2umQzG4WO9PXyuQ23sWHvNsY05egt9nH+mW/khsXLack1/s91XY4wJC2VtEVSh6RrKqxvlXRrtn6DpHll676UtW+RdEnqPkfSru3bmTL+JT67/GF+/Hc/5MbP/4Q7v/ZD/uLSR2gd9wqEiO4c7A5mzThIU5MP3Mxs8L75+Ho27N1Gd7HAoUI33cUCv9jzDP/tyRPjumjNf9kk5YAbgUuBRcAVkhb163YlsD8iFgA3ANdn2y4CVgDnAEuB/y4pl7jPEbPu3mt595LgQ+c9ReuYPsaP62VsSx8fvfAJ/vC8p5nQfJiXn54AB4rMWPgKv31xS6NKNbNRKiL4X9sfpbt47A+udRcL3P7cpgZVdax6vBVeDHRExNaI6AHWAsv69VkGrMnm7wAukqSsfW1EdEfEs0BHtr+UfY6Y237dyUfO/w3jWo99Ice1FvjYBx/jbfmtFB/qpeeCPiacVuBw3+EGVWpmo1UA3QP8OucrhRPjo/r1CIxZwI6y5c6srWKfiCgAB4Gpx9k2ZZ8ASFolqV1S+969e2sYxsAWveXtjGup/IJNGn+EsWf00rywl7nL99AXfbz59DcPSx1mdvJqknj7lNf+mROQn/b6kS+ognoERqWbeEdin8G2v7YxYnVE5CMiP3368Nzs79Zv3s72A5Mqrtvyu2mcNWsXv/+5p2jNNbNs1mVMHOO71JrZ4F37jn/H+OYWxqj0ScyWphzjm1v567ctbXBlJfW47N4JzClbng3sHKBPp6RmYBLQVWXbavscUWs2LeKLF2ykNVegqQn6itBTaObmX5yLDjzDgffM5Jr3fJ6zJ/rowsyG5uxJr+Puiz7DPz3zML85uItzzjiLP3vjYmaMm9jo0gBQRMU37uk7KAXAU8BFwPPARuBjEbG5rM9ngXMj4tOSVgB/HBF/Iukc4EeUrlmcBdwPLKR0hHHcfVaSz+ejvb29pvEczzU3f5IPnf0c86YcYMueqdz1yBsY272F8bMv42+u+By5ptywPbeZ2XCRtCki8tX61XyEEREFSVcD64AccHNEbJZ0HdAeEW3ATcAtkjooHVmsyLbdLOk24EmgAHw2IvqyAbxmn7XWWquvf/LmV+fnng0Xv7+BxZiZjbCajzBOJMN9hGFmdjJKPcLwN8zMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMyS1BQYkqZIWi/p6exx8gD9VmZ9npa0sqz9XZIel9Qh6duSlLV/VdLzkh7Npg/VUqeZmdWu1iOMa4D7I2IhcH+2fAxJU4BrgXcDi4Fry4LlO8AqYGE2LS3b9IaIeEc2/UuNdZqZWY1qDYxlwJpsfg1weYU+lwDrI6IrIvYD64GlkmYCEyPilxERwA8G2N7MzE4AtQbGjIjYBZA9nlmhzyxgR9lyZ9Y2K5vv337U1ZIek3TzQKe6zMxs5FQNDEn3SXqiwrQs8TlUoS2O0w6lU1VvBN4B7AK+dZz6Vklql9S+d+/exJLMzGywmqt1iIgPDrRO0m5JMyNiV3aKaU+Fbp3ABWXLs4GfZe2z+7XvzJ5zd9lzfBf4yXHqWw2sBsjn8zFQPzMzq02tp6TagKOfeloJ3FWhzzpgiaTJ2amlJcC67BTWS5LOyz4d9Ymj22fhc9QfAU/UWKeZmdWo6hFGFV8HbpN0JbAd+CiApDzw6Yj4VER0SfpbYGO2zXUR0ZXNXwX8IzAOuCebAL4h6R2UTlFtA/6yxjrNzKxGKn1A6eSQz+ejvb290WWYmY0qkjZFRL5aP3/T28zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLElNgSFpiqT1kp7OHicP0G9l1udpSSvL2r8maYekQ/36t0q6VVKHpA2S5tVSp5mZ1a7WI4xrgPsjYiFwf7Z8DElTgGuBdwOLgWvLguXurK2/K4H9EbEAuAG4vsY6zcysRrUGxjJgTTa/Bri8Qp9LgPUR0RUR+4H1wFKAiHgoInZV2e8dwEWSVGOtZmZWg1oDY8bRP/jZ45kV+swCdpQtd2Ztx/PqNhFRAA4CU2us1czMatBcrYOk+4DXVVj15cTnqHRkEPXaRtIqYBXA3LlzE0syM7PBqhoYEfHBgdZJ2i1pZkTskjQT2FOhWydwQdnybOBnVZ62E5gDdEpqBiYBXQPUtxpYDZDP56sFkZmZDVGtp6TagKOfeloJ3FWhzzpgiaTJ2cXuJVlb6n6XAw9EhMPAzKyBag2MrwMXS3oauDhbRlJe0vcAIqIL+FtgYzZdl7Uh6RuSOoHTJHVK+mq235uAqZI6gC9Q4dNXZmY2snQyvXHP5/PR3t7e6DLMzEYVSZsiIl+tn7/pbWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSRwYZmaWxIFhZmZJHBhmZpbEgWFmZkkcGGZmlsSBYWZmSWoKDElTJK2X9HT2OHmAfiuzPk9LWlnW/jVJOyQd6tf/LyTtlfRoNn2qljrNzKx2tR5hXAPcHxELgfuz5WNImgJcC7wbWAxcWxYsd2dtldwaEe/Ipu/VWKeZmdWo1sBYBqzJ5tcAl1focwmwPiK6ImI/sB5YChARD0XErhprMDOzEVBrYMw4+gc/ezyzQp9ZwI6y5c6srZqPSHpM0h2S5tRYp5mZ1ai5WgdJ9wGvq7Dqy4nPoQptUWWbu4F/johuSZ+mdPTygQHqWwWsApg7d25iSWZmNlhVAyMiPjjQOkm7Jc2MiF2SZgJ7KnTrBC4oW54N/KzKc75Qtvhd4Prj9F0NrAbI5/PVgsjMzIao1lNSbcDRTz2tBO6q0GcdsETS5Oxi95KsbUBZ+Bz1YeA3NdZpZmY1UsTQ35RLmgrcBswFtgMfjYguSXng0xHxqazfJ4G/zjb7WkR8P2v/BvAx4CxgJ/C9iPiqpL+jFBQFoAu4KiJ+m1DPXuC5IQ8o3TRg3wg8z4noVB27x33qOZXG/vqImF6tU02BcaqS1B4R+UbX0Qin6tg97lPPqTz2gfib3mZmlsSBYWZmSRwYQ7O60QU00Kk6do/71HMqj70iX8MwM7MkPsIwM7MkDox+JC2VtEVSh6RKN1NslXRrtn6DpHll676UtW+RdMlI1l2roY5b0jxJr5TdWfgfRrr2WiWM/f2SHpFUkLS837qKd2IeDWocd1/Za942clXXLmHcX5D0ZHZrovslvb5s3ah9vesiIjxlE5ADngHeALQAvwYW9evzGeAfsvkVlO6qC7Ao698KzM/2k2v0mEZg3POAJxo9hmEe+zzgbcAPgOVl7VOArdnj5Gx+cqPHNNzjztYdavQYhnHcFwKnZfNXlf1fH7Wvd70mH2EcazHQERFbI6IHWEvpjrzlyu/QewdwkSRl7WsjojsingU6GPjW7SeaWsY92lUde0Rsi4jHgGK/bQe8E/MoUMu4R7OUcT8YEYezxYco3c4IRvfrXRcOjGOl3Fn31T4RUQAOAlMTtz1R1TJugPmSfiXpf0t633AXW2e1vG4n+2t+PGMltUt6SFKlnzU4UQ123FcC9wxx25NO1ZsPnmJS7qw7UJ+h3JX3RFHLuHcBcyPiBUnvAn4s6ZyIeLHeRQ6TWl63k/01P565EbFT0huAByQ9HhHP1Km24ZQ8bkl/BuSBPxjsticrH2EcqxMo/+2N2ZTucVWxj6RmYBKl+12lbHuiGvK4s1NwLwBExCZK54ffNOwV108tr9vJ/poPKCJ2Zo9bKd19+p31LG4YJY1b0gcp/YTDhyOiezDbnswcGMfaCCyUNF9SC6WLu/0/AVJ+h97lwANRuiLWBqzIPk00H1gIPDxCdddqyOOWNF1SDiB7t7mQ0sXA0SJl7AMZ9J2YTyBDHnc23tZsfhpwPvDksFVaX1XHLemdwP+gFBblP9kwml/v+mj0VfcTbQI+BDxF6Z3yl7O26yj95wEYC9xO6aL2w8Abyrb9crbdFuDSRo9lJMYNfATYTOnTJo8AlzV6LMMw9t+n9O7yZeAFYHPZtp/M/k06gH/f6LGMxLiB9wKPZ6/548CVjR5Lncd9H7AbeDSb2k6G17sek7/pbWZmSXxKyszMkjgwzMwsiQPDzMySODDMzCyJA8PMzJI4MMzMLIkDw8zMkjgwzMwsyf8DfGn7CBuHNswAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1095f9650>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 812.341162444, time elaps:1\n",
      "CH_score_val: 5252.8151865\n",
      "K-means begin with clusters: 10\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1085ab450>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CH_score: 251.854307448, time elaps:1\n",
      "CH_score_val: 2424.74217081\n"
     ]
    }
   ],
   "source": [
    "# 设置超参数（聚类数目K）搜索范围\n",
    "Ks = [2,3,4,5,6,7,8,9,10]\n",
    "CH_scores = []\n",
    "CH_score_val = []\n",
    "for K in Ks:\n",
    "    ch,v = K_cluster_analysis(K, X_train_part, X_val)\n",
    "    CH_scores.append(ch)\n",
    "    CH_score_val.append(v)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x10f6b1990>]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1088b1050>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制训练集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_scores), 'b-')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x10c317590>]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f5220d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制校验集中不同K下模型的性能，找到最佳模型／参数（分数最高）\n",
    "plt.plot(Ks, np.array(CH_score_val), 'g-')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 最终结论：训练集和校验集上K都是收敛于3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
